mbox series

[v4,0/3] Disable Suspend-to-Idle in Hyper-V and Fix Hibernation Interruptions

Message ID 1734409029-10419-1-git-send-email-ernis@linux.microsoft.com
Headers show
Series Disable Suspend-to-Idle in Hyper-V and Fix Hibernation Interruptions | expand

Message

Erni Sri Satya Vennela Dec. 17, 2024, 4:17 a.m. UTC
It has been reported that Hyper-V VM users can unintentionally abort
hibernation by mouse or keyboard movements. To address this issue,
we have decided to remove the wakeup events for the Hyper-V keyboard
and mouse driver. However, this change introduces another problem: 
Suspend-to-Idle brings the system down with no method to wake it back up.

Given that there are no real users of Suspend-to-Idle in Hyper-V,
we have decided to disable this feature for VMBus. This results in:

$echo freeze > /sys/power/state
> bash: echo: write error: Operation not supported

The keyboard and mouse were previously registered as wakeup sources to
interrupt the freeze operation in a VM. Since the freeze operation itself
is no longer supported, we are disabling them as wakeup events.

This patchset ensures that the system remains stable and prevents
unintended interruptions during hibernation.
---
Changes in v4:
* Make keyboard and mouse wakeup capable by adding 
  device_set_wakeup_capable but not enabling them as wakeup sources.
  https://lore.kernel.org/lkml/Zv-j0qtWXsDz4Hah@google.com/
* Remove device_wakeup_init() call in mousevsc_remove()
v3:https://lore.kernel.org/lkml/1727685708-3524-1-git-send-email-ernis@linux.microsoft.com/

Changes in v3:
* Add 'Cc: stable@vger.kernel.org' in sign-off area.
v2:https://lore.kernel.org/lkml/1727683917-31485-1-git-send-email-ernis@linux.microsoft.com/

Changes in v2:
* Add "#define vmbus_freeze NULL" when CONFIG_PM_SLEEP is not 
  enabled.
* Change commit message to clarify that this change is specifc to
  Hyper-V based VMs.
v1:https://lore.kernel.org/lkml/1726176470-13133-1-git-send-email-ernis@linux.microsoft.com/
---

Erni Sri Satya Vennela (3):
  Drivers: hv: vmbus: Disable Suspend-to-Idle for VMBus
  Input: hyperv-keyboard - disable as wakeup source
  HID: hyperv: disable as wakeup source

 drivers/hid/hid-hyperv.c              |  3 +--
 drivers/hv/vmbus_drv.c                | 16 +++++++++++++++-
 drivers/input/serio/hyperv-keyboard.c |  2 +-
 3 files changed, 17 insertions(+), 4 deletions(-)