summary refs log tree commit diff
path: root/drivers/acpi
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2009-01-09 03:36:59 -0500
committerLen Brown <len.brown@intel.com>2009-01-09 03:36:59 -0500
commita8e896e2813316a2d3657dc07d5eef83c3b2d9f4 (patch)
treeb1151588bb4b355fe6956348435f2adb409aa3f2 /drivers/acpi
parent39cecf2091f10c3a5052d1e58da690d20852b243 (diff)
parent50b178512b7d6e7724f87459f6bd06504c9c2da1 (diff)
downloadlinux-a8e896e2813316a2d3657dc07d5eef83c3b2d9f4.tar.gz
Merge branch 'battery' into release
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/battery.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index 1423b0c0cd2e..65132f920459 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;