• R
    intel-hid: intel-vbtn: Avoid leaking wakeup_mode set · 31eb8457
    Rafael J. Wysocki 提交于
    Both intel-hid and intel-vbtn set a wakeup_mode flag causing them
    to behave in a special way during system suspend and while suspended
    in their "prepare" PM callbacks and clear it in their "resume" PM
    callbacks.  That may cause the wakeup_mode flag to remain set after
    a system suspend failure (if some other driver's "suspend" callback
    returns an error before the "suspend" callback of either intel-hid
    or intel-vbtn is invoked).
    
    After commit 10a08fd6 ("ACPI: PM: Set up EC GPE for system wakeup
    from drivers that need it") that also affects the "wakeup mask" bit
    of the EC GPE, which may not be cleared after a failing system
    suspend.
    
    Fix this issue by adding "complete" PM callbacks to intel-hid and
    intel-vbtn to clear the wakeup_mode flag and the "wakeup mask" bit
    of the EC GPE if they have not been cleared earlier.
    
    Fixes: 10a08fd6 ("ACPI: PM: Set up EC GPE for system wakeup from drivers that need it")
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    31eb8457
intel-vbtn.c 7.6 KB