Unverified Commit e02ea3ae authored by David McFarland's avatar David McFarland Committed by Ilpo Järvinen
Browse files

platform/x86: intel-hid: disable wakeup_mode during hibernation

Add a freeze handler which clears wakeup_mode. This fixes aborted hibernation on
Dell Precision 3880.

  Wakeup event detected during hibernation, rolling back

This system sends power button events during hibernation, even when triggered by
software.

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218634


Fixes: 0c4cae1b ("PM: hibernate: Avoid missing wakeup events during hibernation")
Signed-off-by: default avatarDavid McFarland <corngood@gmail.com>
Link: https://patch.msgid.link/20260205231629.1336348-1-corngood@gmail.com


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 8a243d97
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -438,6 +438,14 @@ static int intel_hid_pl_suspend_handler(struct device *device)
	return 0;
}

static int intel_hid_pl_freeze_handler(struct device *device)
{
	struct intel_hid_priv *priv = dev_get_drvdata(device);

	priv->wakeup_mode = false;
	return intel_hid_pl_suspend_handler(device);
}

static int intel_hid_pl_resume_handler(struct device *device)
{
	intel_hid_pm_complete(device);
@@ -452,7 +460,7 @@ static int intel_hid_pl_resume_handler(struct device *device)
static const struct dev_pm_ops intel_hid_pl_pm_ops = {
	.prepare = intel_hid_pm_prepare,
	.complete = intel_hid_pm_complete,
	.freeze  = intel_hid_pl_suspend_handler,
	.freeze  = intel_hid_pl_freeze_handler,
	.thaw  = intel_hid_pl_resume_handler,
	.restore  = intel_hid_pl_resume_handler,
	.suspend  = intel_hid_pl_suspend_handler,