ACPI: update battery status first when querying from sysfs
PATCH 4/4 ACPI: update battery status first when querying from sysfs
Sometimes the Battery driver doesn't get notifications when it's plugged/unplugged. And this results in the incorrect Battery status reported by the power supply sysfs I/F.
Update Battery status first when querying from sysfs.
http://marc.info/?l=linux-acpi&m=128855015826728&w=2
Tested_by: Seblu <[email protected]>
Signed-off-by Zhang Rui <[email protected]>
--- drivers/acpi/battery.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/acpi/battery.c +5 -0
@@ -130,6 +130,8 @@ struct acpi_battery {unsigned long flags; }; +static int acpi_battery_update (struct acpi_battery *battery); +#define to_acpi_battery (x) container_of(x, struct acpi_battery, bat);inline int acpi_battery_present (struct acpi_battery *battery)
@@ -184,6 +186,9 @@ static int acpi_battery_get_property(strint ret =0 ;struct acpi_battery *battery =to_acpi_battery (psy); +if (acpi_battery_update (battery)) +return -ENODEV ; +if (acpi_battery_present (battery)) {/* run battery update only if it is present */ acpi_battery_get_state (battery);
applied
thanks,
Len Brown, Intel Open Source Technology Center