Skip to content

Commit 31f7dc7

Browse files
krzktorvalds
authored andcommitted
ACPI / battery: Fix doubly added battery on system suspend
Commit 297d716 ("power_supply: Change ownership from driver to core") inverted the logic in battery_notify(). As an effect already present battery was re-added on each system suspend or hibernation. WARNING: CPU: 0 PID: 303 at ../fs/sysfs/dir.c:31 sysfs_warn_dup+0x68/0x80() sysfs: cannot create duplicate filename '/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/PNP0C0A:00/power_supply/BAT0' CPU: 0 PID: 303 Comm: rtcwake Not tainted 4.0.0-ARCH-02621-g07e6253af953 #48 Call Trace: sysfs_create_dir_ns+0x8d/0xa0 kobject_add_internal+0xb6/0x370 kobject_add+0x6f/0xd0 device_add+0x120/0x6c0 __power_supply_register+0x145/0x290 power_supply_register_no_ws+0x10/0x20 sysfs_add_battery+0x84/0xc5 [battery] battery_notify+0x45/0x6b [battery] notifier_call_chain+0x4f/0x80 __blocking_notifier_call_chain+0x4b/0x70 blocking_notifier_call_chain+0x16/0x20 pm_notifier_call_chain+0x1a/0x40 pm_suspend+0x3ed/0x4e0 Signed-off-by: Krzysztof Kozlowski <[email protected]> Reported-by: Linus Torvalds <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Reviewed-By: Sebastian Reichel <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent b79013b commit 31f7dc7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/acpi/battery.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1106,7 +1106,7 @@ static int battery_notify(struct notifier_block *nb,
11061106
if (!acpi_battery_present(battery))
11071107
return 0;
11081108

1109-
if (battery->bat) {
1109+
if (!battery->bat) {
11101110
result = acpi_battery_get_info(battery);
11111111
if (result)
11121112
return result;

0 commit comments

Comments
 (0)