lkml.org 
[lkml]   [2021]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 004/171] HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested
    Date
    From: Thomas Weißschuh <linux@weissschuh.net>

    commit 086e81f6b90e41a07a1a885bb11e93daa6915747 upstream.

    Fixes spurious wakeups from s0ix on Lenovo ThinkPad X1 Cargon Gen 9 on
    lid close.

    These wakeups are generated by interrupts from the ISH on changes to the
    lid status.

    By disabling the wake IRQ from the ISH we inhibit these spurious
    wakeups while keeping the resume from LID open through the ACPI
    interrupt.

    Reports on the Lenovo forums indicate that Lenovo ThinkPad X1 Yoga Gen6
    is also affected.

    Fixes: ae02e5d40d5f ("HID: intel-ish-hid: ipc layer")
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=214855
    Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
    Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Link: https://lore.kernel.org/r/20211130060117.3026-1-linux@weissschuh.net
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/hid/intel-ish-hid/ipc/pci-ish.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/drivers/hid/intel-ish-hid/ipc/pci-ish.c
    +++ b/drivers/hid/intel-ish-hid/ipc/pci-ish.c
    @@ -266,7 +266,8 @@ static void __maybe_unused ish_resume_ha

    if (ish_should_leave_d0i3(pdev) && !dev->suspend_flag
    && IPC_IS_ISH_ILUP(fwsts)) {
    - disable_irq_wake(pdev->irq);
    + if (device_may_wakeup(&pdev->dev))
    + disable_irq_wake(pdev->irq);

    ish_set_host_ready(dev);

    @@ -337,7 +338,8 @@ static int __maybe_unused ish_suspend(st
    */
    pci_save_state(pdev);

    - enable_irq_wake(pdev->irq);
    + if (device_may_wakeup(&pdev->dev))
    + enable_irq_wake(pdev->irq);
    }
    } else {
    /*

    \
     
     \ /
      Last update: 2021-12-13 10:59    [W:4.341 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site