diff options
-rw-r--r-- | drivers/acpi/battery.c | 2 | ||||
-rw-r--r-- | drivers/acpi/processor_driver.c | 1 | ||||
-rw-r--r-- | drivers/acpi/scan.c | 3 |
3 files changed, 4 insertions, 2 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 48bcf38a0ea8..1c162e7be045 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c | |||
@@ -540,12 +540,12 @@ static int acpi_battery_get_state(struct acpi_battery *battery) | |||
540 | */ | 540 | */ |
541 | if (battery->capacity_now > battery->full_charge_capacity | 541 | if (battery->capacity_now > battery->full_charge_capacity |
542 | && battery->full_charge_capacity != ACPI_BATTERY_VALUE_UNKNOWN) { | 542 | && battery->full_charge_capacity != ACPI_BATTERY_VALUE_UNKNOWN) { |
543 | battery->capacity_now = battery->full_charge_capacity; | ||
544 | if (battery->capacity_now != battery->design_capacity) | 543 | if (battery->capacity_now != battery->design_capacity) |
545 | printk_once(KERN_WARNING FW_BUG | 544 | printk_once(KERN_WARNING FW_BUG |
546 | "battery: reported current charge level (%d) " | 545 | "battery: reported current charge level (%d) " |
547 | "is higher than reported maximum charge level (%d).\n", | 546 | "is higher than reported maximum charge level (%d).\n", |
548 | battery->capacity_now, battery->full_charge_capacity); | 547 | battery->capacity_now, battery->full_charge_capacity); |
548 | battery->capacity_now = battery->full_charge_capacity; | ||
549 | } | 549 | } |
550 | 550 | ||
551 | if (test_bit(ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY, &battery->flags) | 551 | if (test_bit(ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY, &battery->flags) |
diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c index 4fcbd670415c..d9f71581b79b 100644 --- a/drivers/acpi/processor_driver.c +++ b/drivers/acpi/processor_driver.c | |||
@@ -120,6 +120,7 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb, | |||
120 | unsigned int cpu = (unsigned long)hcpu; | 120 | unsigned int cpu = (unsigned long)hcpu; |
121 | struct acpi_processor *pr = per_cpu(processors, cpu); | 121 | struct acpi_processor *pr = per_cpu(processors, cpu); |
122 | struct acpi_device *device; | 122 | struct acpi_device *device; |
123 | action &= ~CPU_TASKS_FROZEN; | ||
123 | 124 | ||
124 | /* | 125 | /* |
125 | * CPU_STARTING and CPU_DYING must not sleep. Return here since | 126 | * CPU_STARTING and CPU_DYING must not sleep. Return here since |
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 5d592e17d760..0a817ad24f16 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c | |||
@@ -353,7 +353,8 @@ static int acpi_scan_hot_remove(struct acpi_device *device) | |||
353 | unsigned long long sta; | 353 | unsigned long long sta; |
354 | acpi_status status; | 354 | acpi_status status; |
355 | 355 | ||
356 | if (device->handler->hotplug.demand_offline && !acpi_force_hot_remove) { | 356 | if (device->handler && device->handler->hotplug.demand_offline |
357 | && !acpi_force_hot_remove) { | ||
357 | if (!acpi_scan_is_offline(device, true)) | 358 | if (!acpi_scan_is_offline(device, true)) |
358 | return -EBUSY; | 359 | return -EBUSY; |
359 | } else { | 360 | } else { |