]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
power: supply: bq27xxx_battery: do not update cached flags prematurely
authorSicelo A. Mhlongo <absicsz@gmail.com>
Mon, 25 Nov 2024 15:29:30 +0000 (17:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:39:20 +0000 (14:39 +0200)
[ Upstream commit 45291874a762dbb12a619dc2efaf84598859007a ]

Commit 243f8ffc883a1 ("power: supply: bq27xxx_battery: Notify also about
status changes") intended to notify userspace when the status changes,
based on the flags register. However, the cached state is updated too
early, before the flags are tested for any changes. Remove the premature
update.

Fixes: 243f8ffc883a1 ("power: supply: bq27xxx_battery: Notify also about status changes")
Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com>
Link: https://lore.kernel.org/r/20241125152945.47937-1-absicsz@gmail.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/power/supply/bq27xxx_battery.c

index 51fb88aca0f9fd7bb6c4d9609dcde2608ca31911..1a20c775489c7284c39043e3d69378cef89c2986 100644 (file)
@@ -1913,7 +1913,6 @@ static void bq27xxx_battery_update_unlocked(struct bq27xxx_device_info *di)
                cache.flags = -1; /* read error */
        if (cache.flags >= 0) {
                cache.capacity = bq27xxx_battery_read_soc(di);
-               di->cache.flags = cache.flags;
 
                /*
                 * On gauges with signed current reporting the current must be