From: Alexey Starikovskiy Date: Mon, 22 Dec 2008 23:44:54 +0000 (+0300) Subject: Newly inserted battery might differ from one just removed, so X-Git-Tag: v2.6.29-rc1~34^2~8^2 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=50b178512b7d6e7724f87459f6bd06504c9c2da1;p=linux-2.6-omap-h63xx.git Newly inserted battery might differ from one just removed, so update of battery info fields is required. Signed-off-by: Alexey Starikovskiy Acked-by: Andy Neitzke Signed-off-by: Alexey Starikovskiy suse.de> Signed-off-by: Len Brown --- diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 1423b0c0cd2..65132f92045 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c @@ -471,7 +471,7 @@ static void sysfs_remove_battery(struct acpi_battery *battery) static int acpi_battery_update(struct acpi_battery *battery) { - int result; + int result, old_present = acpi_battery_present(battery); result = acpi_battery_get_status(battery); if (result) return result; @@ -482,7 +482,8 @@ static int acpi_battery_update(struct acpi_battery *battery) return 0; } #endif - if (!battery->update_time) { + if (!battery->update_time || + old_present != acpi_battery_present(battery)) { result = acpi_battery_get_info(battery); if (result) return result;