platform/x86: toshiba: re-enable acpi hotkeys after suspend to disk
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Tue, 2 Sep 2014 18:04:19 +0000 (14:04 -0400)
committerDarren Hart <dvhart@linux.intel.com>
Tue, 2 Sep 2014 22:45:36 +0000 (15:45 -0700)
On the Toshiba Tecra Z40, after a suspend-to-disk, some FN hotkeys
driven by toshiba_acpi are not functional.

Calling the ACPI object ENAB on resume makes them back alive.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
drivers/platform/x86/toshiba_acpi.c

index b062d3d7b37304e9e724fd869419febfae522c19..ba75701986e508730466c207cc92c679bd4e44bb 100644 (file)
@@ -1857,9 +1857,16 @@ static int toshiba_acpi_resume(struct device *device)
 {
        struct toshiba_acpi_dev *dev = acpi_driver_data(to_acpi_device(device));
        u32 result;
+       acpi_status status;
+
+       if (dev->hotkey_dev) {
+               status = acpi_evaluate_object(dev->acpi_dev->handle, "ENAB",
+                               NULL, NULL);
+               if (ACPI_FAILURE(status))
+                       pr_info("Unable to re-enable hotkeys\n");
 
-       if (dev->hotkey_dev)
                hci_write1(dev, HCI_HOTKEY_EVENT, HCI_HOTKEY_ENABLE, &result);
+       }
 
        return 0;
 }