Commit 03d78252 authored by Christian Lupien's avatar Christian Lupien Committed by Len Brown

ACPI: handle AC notify event on broken BIOS

http://bugzilla.kernel.org/show_bug.cgi?id=3241

updated by Vladimir Lebedev
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 37672d4c
...@@ -194,6 +194,8 @@ static void acpi_ac_notify(acpi_handle handle, u32 event, void *data) ...@@ -194,6 +194,8 @@ static void acpi_ac_notify(acpi_handle handle, u32 event, void *data)
device = ac->device; device = ac->device;
switch (event) { switch (event) {
case ACPI_AC_NOTIFY_STATUS: case ACPI_AC_NOTIFY_STATUS:
case ACPI_NOTIFY_BUS_CHECK:
case ACPI_NOTIFY_DEVICE_CHECK:
acpi_ac_get_state(ac); acpi_ac_get_state(ac);
acpi_bus_generate_event(device, event, (u32) ac->state); acpi_bus_generate_event(device, event, (u32) ac->state);
break; break;
...@@ -235,7 +237,7 @@ static int acpi_ac_add(struct acpi_device *device) ...@@ -235,7 +237,7 @@ static int acpi_ac_add(struct acpi_device *device)
goto end; goto end;
status = acpi_install_notify_handler(device->handle, status = acpi_install_notify_handler(device->handle,
ACPI_DEVICE_NOTIFY, acpi_ac_notify, ACPI_ALL_NOTIFY, acpi_ac_notify,
ac); ac);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
result = -ENODEV; result = -ENODEV;
...@@ -267,7 +269,7 @@ static int acpi_ac_remove(struct acpi_device *device, int type) ...@@ -267,7 +269,7 @@ static int acpi_ac_remove(struct acpi_device *device, int type)
ac = (struct acpi_ac *)acpi_driver_data(device); ac = (struct acpi_ac *)acpi_driver_data(device);
status = acpi_remove_notify_handler(device->handle, status = acpi_remove_notify_handler(device->handle,
ACPI_DEVICE_NOTIFY, acpi_ac_notify); ACPI_ALL_NOTIFY, acpi_ac_notify);
acpi_ac_remove_fs(device); acpi_ac_remove_fs(device);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment