platform/x86: intel-vbtn: match power button on press rather than release
This fixes a problem where the system gets stuck in a loop
unable to wakeup via power button in s2idle.
The problem happens because:
 - press power button:
   - system emits 0xc0 (power press), event ignored
   - system emits 0xc1 (power release), event processed,
     emited as KEY_POWER
   - set wakeup_mode to true
   - system goes to s2idle
 - press power button
   - system emits 0xc0 (power press), wakeup_mode is true,
     system wakes
   - system emits 0xc1 (power release), event processed,
     emited as KEY_POWER
   - system goes to s2idle again
To avoid this situation, process the presses (which matches what
intel-hid does too).
Verified on an Dell XPS 9365
Signed-off-by:  Mario Limonciello <mario.limonciello@dell.com>
Acked-by:
Mario Limonciello <mario.limonciello@dell.com>
Acked-by:  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by:  Darren Hart (VMware) <dvhart@infradead.org>
Darren Hart (VMware) <dvhart@infradead.org>
Loading
Please register or sign in to comment
