]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
platform/x86: intel_int0002_vgpio: Fix wakeups not working on Cherry Trail
authorHans de Goede <hdegoede@redhat.com>
Fri, 23 Aug 2019 17:48:14 +0000 (19:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Oct 2019 11:14:04 +0000 (13:14 +0200)
commit 1bd43d0077b9a32a8b8059036471f3fc82dae342 upstream.

Commit 871f1f2bcb01 ("platform/x86: intel_int0002_vgpio: Only implement
irq_set_wake on Bay Trail") removed the irq_set_wake method from the
struct irq_chip used on Cherry Trail, but it did not set
IRQCHIP_SKIP_SET_WAKE causing  kernel/irq/manage.c: set_irq_wake_real()
to return -ENXIO.

This causes the kernel to no longer see PME events reported through the
INT0002 device as wakeup events. Which e.g. breaks wakeup by the (USB)
keyboard on many Cherry Trail 2-in-1 devices.

Cc: stable@vger.kernel.org
Fixes: 871f1f2bcb01 ("platform/x86: intel_int0002_vgpio: Only implement irq_set_wake on Bay Trail")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/x86/intel_int0002_vgpio.c

index 1694a9aec77c51453df68ecb59604485b90b7501..9b7af885e31422f96da3213acdd5d688352e9e73 100644 (file)
@@ -155,6 +155,7 @@ static struct irq_chip int0002_cht_irqchip = {
         * No set_wake, on CHT the IRQ is typically shared with the ACPI SCI
         * and we don't want to mess with the ACPI SCI irq settings.
         */
+       .flags                  = IRQCHIP_SKIP_SET_WAKE,
 };
 
 static int int0002_probe(struct platform_device *pdev)