cat /sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/PNP0C0A:00/power_supply/BAT1/status This leads to a stacktrace as acpi_battery_get_property() returns 0 for a case where it does not set val->intval. These value is used as an array index in drivers/power/power_supply_sysfs.c::power_supply_show_property(). I had a situation where the value was 4096 which caused a problem as the array only has 5 entries. Signed-off-by: Rolf Eike Beer <[email protected]> diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 192c244..2e8e790 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c @@ -153,6 +153,8 @@ static int acpi_battery_get_property(struct power_supply *psy, val->intval = POWER_SUPPLY_STATUS_CHARGING; else if (battery->state == 0) val->intval = POWER_SUPPLY_STATUS_FULL; + else + val->intval = POWER_SUPPLY_STATUS_UNKNOWN; break; case POWER_SUPPLY_PROP_PRESENT: val->intval = acpi_battery_present(battery);
Attachment:
signature.asc
Description: This is a digitally signed message part.
- Follow-Ups:
- Re: [PATCH] Fix segfault when printing battery status
- From: Alexey Starikovskiy <[email protected]>
- Re: [PATCH] Fix segfault when printing battery status
- Prev by Date: [PATCH] radeonfb: add chip definition for RV370 5b63
- Next by Date: Re: SCSI breakage on non-cache coherent architectures
- Previous by thread: [PATCH] radeonfb: add chip definition for RV370 5b63
- Next by thread: Re: [PATCH] Fix segfault when printing battery status
- Index(es):