mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-22 13:33:56 +03:00
udev-util: assume system is running on AC power when no battery found
Fixes #24214. (cherry picked from commit96788d2aa4
) (cherry picked from commited2955f8fe
)
This commit is contained in:
parent
d1166a9060
commit
647c44c21a
@ -643,7 +643,7 @@ static int device_is_power_sink(sd_device *device) {
|
||||
|
||||
int on_ac_power(void) {
|
||||
_cleanup_(sd_device_enumerator_unrefp) sd_device_enumerator *e = NULL;
|
||||
bool found_offline = false, found_online = false;
|
||||
bool found_offline = false, found_online = false, found_battery = false;
|
||||
sd_device *d;
|
||||
int r;
|
||||
|
||||
@ -674,6 +674,7 @@ int on_ac_power(void) {
|
||||
* for defined power source types. Also see:
|
||||
* https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-power */
|
||||
if (streq(val, "Battery")) {
|
||||
found_battery = true;
|
||||
log_device_debug(d, "The power supply is battery, ignoring.");
|
||||
continue;
|
||||
}
|
||||
@ -714,10 +715,12 @@ int on_ac_power(void) {
|
||||
log_debug("Found at least one online non-battery power supply, system is running on AC power.");
|
||||
else if (!found_offline)
|
||||
log_debug("Found no offline non-battery power supply, assuming system is running on AC power.");
|
||||
else if (!found_battery)
|
||||
log_debug("Found no battery, assuming system is running on AC power.");
|
||||
else
|
||||
log_debug("All non-battery power supplies are offline, assuming system is running with battery.");
|
||||
|
||||
return found_online || !found_offline;
|
||||
return found_online || !found_offline || !found_battery;
|
||||
}
|
||||
|
||||
bool udev_available(void) {
|
||||
|
Loading…
Reference in New Issue
Block a user