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>
diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c
index 4537ae4..69a98da 100644
--- a/drivers/acpi/ac.c
+++ b/drivers/acpi/ac.c
@@ -194,6 +194,8 @@
 	device = ac->device;
 	switch (event) {
 	case ACPI_AC_NOTIFY_STATUS:
+	case ACPI_NOTIFY_BUS_CHECK:
+	case ACPI_NOTIFY_DEVICE_CHECK:
 		acpi_ac_get_state(ac);
 		acpi_bus_generate_event(device, event, (u32) ac->state);
 		break;
@@ -235,7 +237,7 @@
 		goto end;
 
 	status = acpi_install_notify_handler(device->handle,
-					     ACPI_DEVICE_NOTIFY, acpi_ac_notify,
+					     ACPI_ALL_NOTIFY, acpi_ac_notify,
 					     ac);
 	if (ACPI_FAILURE(status)) {
 		result = -ENODEV;
@@ -267,7 +269,7 @@
 	ac = (struct acpi_ac *)acpi_driver_data(device);
 
 	status = acpi_remove_notify_handler(device->handle,
-					    ACPI_DEVICE_NOTIFY, acpi_ac_notify);
+					    ACPI_ALL_NOTIFY, acpi_ac_notify);
 
 	acpi_ac_remove_fs(device);