]> Gentwo Git Trees - linux/.git/commitdiff
ACPI: SBS: Fix present test in acpi_battery_read()
authorDan Carpenter <dan.carpenter@linaro.org>
Fri, 31 Oct 2025 13:03:43 +0000 (16:03 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 3 Nov 2025 16:29:52 +0000 (17:29 +0100)
The battery->present variable is a 1 bit bitfield in a u8.  This means
that the "state & (1 << battery->id)" test will only work when
"battery->id" is zero, otherwise ->present is zero.  Fix this by adding
a !!.

Fixes: db1c291af7ad ("ACPI: SBS: Make SBS reads table-driven.")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/aQSzr4NynN2mpEvG@stanley.mountain
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/sbs.c

index a3f95a3fffde2015b92155b11fec1a459f7b0cc4..d3edc3bcbf0112cb923522fc5dde423d3989cef0 100644 (file)
@@ -487,7 +487,7 @@ static int acpi_battery_read(struct acpi_battery *battery)
                if (result)
                        return result;
 
-               battery->present = state & (1 << battery->id);
+               battery->present = !!(state & (1 << battery->id));
                if (!battery->present)
                        return 0;