diff options
-rw-r--r-- | drivers/acpi/battery.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 86933ca8b472..7dd3f9fb9f3f 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c | |||
@@ -643,11 +643,19 @@ static int acpi_battery_update(struct acpi_battery *battery) | |||
643 | 643 | ||
644 | static void acpi_battery_refresh(struct acpi_battery *battery) | 644 | static void acpi_battery_refresh(struct acpi_battery *battery) |
645 | { | 645 | { |
646 | int power_unit; | ||
647 | |||
646 | if (!battery->bat.dev) | 648 | if (!battery->bat.dev) |
647 | return; | 649 | return; |
648 | 650 | ||
651 | power_unit = battery->power_unit; | ||
652 | |||
649 | acpi_battery_get_info(battery); | 653 | acpi_battery_get_info(battery); |
650 | /* The battery may have changed its reporting units. */ | 654 | |
655 | if (power_unit == battery->power_unit) | ||
656 | return; | ||
657 | |||
658 | /* The battery has changed its reporting units. */ | ||
651 | sysfs_remove_battery(battery); | 659 | sysfs_remove_battery(battery); |
652 | sysfs_add_battery(battery); | 660 | sysfs_add_battery(battery); |
653 | } | 661 | } |