diff options
author | Christian Lupien <lupien@physique.usherbrooke.ca> | 2004-08-19 01:26:00 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-07-01 12:09:27 -0400 |
commit | 03d782524e2d0511317769521c8d5daadbab8482 (patch) | |
tree | c8d1d5b828993712e1a23022f58e61077fe5341e /drivers/acpi/ac.c | |
parent | 37672d4c5263d54ee4302f55242f6fd5317b0f9f (diff) |
ACPI: handle AC notify event on broken BIOS
http://bugzilla.kernel.org/show_bug.cgi?id=3241
updated by Vladimir Lebedev
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/ac.c')
-rw-r--r-- | drivers/acpi/ac.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c index 4537ae4838c4..69a98da13913 100644 --- a/drivers/acpi/ac.c +++ b/drivers/acpi/ac.c | |||
@@ -194,6 +194,8 @@ static void acpi_ac_notify(acpi_handle handle, u32 event, void *data) | |||
194 | device = ac->device; | 194 | device = ac->device; |
195 | switch (event) { | 195 | switch (event) { |
196 | case ACPI_AC_NOTIFY_STATUS: | 196 | case ACPI_AC_NOTIFY_STATUS: |
197 | case ACPI_NOTIFY_BUS_CHECK: | ||
198 | case ACPI_NOTIFY_DEVICE_CHECK: | ||
197 | acpi_ac_get_state(ac); | 199 | acpi_ac_get_state(ac); |
198 | acpi_bus_generate_event(device, event, (u32) ac->state); | 200 | acpi_bus_generate_event(device, event, (u32) ac->state); |
199 | break; | 201 | break; |
@@ -235,7 +237,7 @@ static int acpi_ac_add(struct acpi_device *device) | |||
235 | goto end; | 237 | goto end; |
236 | 238 | ||
237 | status = acpi_install_notify_handler(device->handle, | 239 | status = acpi_install_notify_handler(device->handle, |
238 | ACPI_DEVICE_NOTIFY, acpi_ac_notify, | 240 | ACPI_ALL_NOTIFY, acpi_ac_notify, |
239 | ac); | 241 | ac); |
240 | if (ACPI_FAILURE(status)) { | 242 | if (ACPI_FAILURE(status)) { |
241 | result = -ENODEV; | 243 | result = -ENODEV; |
@@ -267,7 +269,7 @@ static int acpi_ac_remove(struct acpi_device *device, int type) | |||
267 | ac = (struct acpi_ac *)acpi_driver_data(device); | 269 | ac = (struct acpi_ac *)acpi_driver_data(device); |
268 | 270 | ||
269 | status = acpi_remove_notify_handler(device->handle, | 271 | status = acpi_remove_notify_handler(device->handle, |
270 | ACPI_DEVICE_NOTIFY, acpi_ac_notify); | 272 | ACPI_ALL_NOTIFY, acpi_ac_notify); |
271 | 273 | ||
272 | acpi_ac_remove_fs(device); | 274 | acpi_ac_remove_fs(device); |
273 | 275 | ||