From nobody Thu Nov 28 18:49:34 2024 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D7024170A0C; Mon, 30 Sep 2024 08:12:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727683948; cv=none; b=oNliAfpJyqrU5qMokYbi02EHI0ps/mgkOGKIzJaOkeLzrUAE4OkLiP+nl87+c1piOa9alYuEiVxlIFOGEPiXB9CDoTcplp1vyk83v/+0QlylyUWbQnKgzyNMpVvp2qcNru+kYsllCiFeUtoB6o63YV4cj3Dvb3ADiZSDtfv4SP8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727683948; c=relaxed/simple; bh=epttnSj/svbXuL/Wo7pz03EWTfyVueEXmrA9gKplll4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=Rv28ngc59Im7KH3AbShsFU3GxKURjVUgDsAxVTEyeQIC6dTN5E22CsNxWbLmuHyfmpFHi6gh7PtfWuHlnyr8WVIYcAj9YANo6FYvZL3TQJjWkk2pk8BFpLcJLCIdWV5Ya2aSVYxQmHJjTTT82GomiOW6bTMZm0BtRrzgRUxnY1s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=Vsfy2KBR; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="Vsfy2KBR" Received: by linux.microsoft.com (Postfix, from userid 1173) id 938F020C8C63; Mon, 30 Sep 2024 01:12:26 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 938F020C8C63 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1727683946; bh=1x51b5CjyVGq6sw/nSMCSAQaFDk9RICsmrEq6BPWdHo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Vsfy2KBRrqecSgctJsj98G+Khx5egUGNNBjVQGMZttbIFLyiKmaR7sEnFb7q/svf3 MoKhaZXXkIHs5F8t2HbhQlvd8oQRBmsSs20wcciJj1u4l/kpxnu3m/qi/QeT90uRj0 tbiIGmKk7RqczqirMCzw/9/A/dmUSad55mdMFkls= From: Erni Sri Satya Vennela To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, jikos@kernel.org, bentiss@kernel.org, dmitry.torokhov@gmail.com, mikelley@microsoft.com, linux-hyperv@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Cc: ernis@microsoft.com, Erni Sri Satya Vennela , stable@vger.kernel.org, Saurabh Sengar Subject: [PATCH v2 1/3] Drivers: hv: vmbus: Disable Suspend-to-Idle for VMBus Date: Mon, 30 Sep 2024 01:11:55 -0700 Message-Id: <1727683917-31485-2-git-send-email-ernis@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1727683917-31485-1-git-send-email-ernis@linux.microsoft.com> References: <1727683917-31485-1-git-send-email-ernis@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This change is specific to Hyper-V based VMs. If the Virtual Machine Connection window is focused, a Hyper-V VM user can unintentionally touch the keyboard/mouse when the VM is hibernating or resuming, and consequently the hibernation or resume operation can be aborted unexpectedly. Fix the issue by no longer registering the keyboard/mouse as wakeup devices (see the other two patches for the changes to drivers/input/serio/hyperv-keyboard.c and drivers/hid/hid-hyperv.c). The keyboard/mouse were registered as wakeup devices because the VM needs to be woken up from the Suspend-to-Idle state after a user runs "echo freeze > /sys/power/state". It seems like the Suspend-to-Idle feature has no real users in practice, so let's no longer support that by returning -EOPNOTSUPP if a user tries to use that. $echo freeze > /sys/power/state > bash: echo: write error: Operation not supported Fixes: 1a06d017fb3f ("Drivers: hv: vmbus: Fix Suspend-to-Idle for Generatio= n-2 VM") Signed-off-by: Saurabh Sengar Signed-off-by: Erni Sri Satya Vennela --- Changes in v2: * Add "#define vmbus_freeze NULL" when CONFIG_PM_SLEEP is not=20 enabled. * Change commit message to clarify that this change is specifc to Hyper-V based VMs. --- drivers/hv/vmbus_drv.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 965d2a4efb7e..8f445c849512 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -900,6 +900,19 @@ static void vmbus_shutdown(struct device *child_device) } =20 #ifdef CONFIG_PM_SLEEP +/* + * vmbus_freeze - Suspend-to-Idle + */ +static int vmbus_freeze(struct device *child_device) +{ +/* + * Do not support Suspend-to-Idle ("echo freeze > /sys/power/state") as + * that would require registering the Hyper-V synthetic mouse/keyboard + * devices as wakeup devices, which can abort hibernation/resume unexpecte= dly. + */ + return -EOPNOTSUPP; +} + /* * vmbus_suspend - Suspend a vmbus device */ @@ -938,6 +951,7 @@ static int vmbus_resume(struct device *child_device) return drv->resume(dev); } #else +#define vmbus_freeze NULL #define vmbus_suspend NULL #define vmbus_resume NULL #endif /* CONFIG_PM_SLEEP */ @@ -969,7 +983,7 @@ static void vmbus_device_release(struct device *device) */ =20 static const struct dev_pm_ops vmbus_pm =3D { - .suspend_noirq =3D NULL, + .suspend_noirq =3D vmbus_freeze, .resume_noirq =3D NULL, .freeze_noirq =3D vmbus_suspend, .thaw_noirq =3D vmbus_resume, --=20 2.34.1 From nobody Thu Nov 28 18:49:34 2024 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DADC2183CC5; Mon, 30 Sep 2024 08:12:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727683953; cv=none; b=jcl8QFwyi60gWsF+p02sPHNLZCnpvMRh7nr0RKgpt+amVhY2y4BWtnugojb8gz/dlywLiBlxZDJNdc1sRTF9Lo6hBQnYMAQRyKiQWKdiKimIz8jR0kghWlLJjSbQBhHSxllBJ97ejKzsEIZeD3i3FiKayFNNmqfqDcd0SZXcslI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727683953; c=relaxed/simple; bh=mRQWu9Qi60Rm069HxpdDnlMKyQWzItHFvKHZXcTx8kI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=UZ7Pmn9nU0LcnLeWSMs4Cz8elYy5wgXO6IV8P4/hahOs5LWuXjSlSYnZvSzy9r1hGSW/QMiMWRdFjd7On/zT/1/IJU3BqGMqJrp3VfB/EtTDWytACMnEVQPYUcrx/zvcgL+UdHTkO1JdAgtJ6lkRWLsaEBU4ORbxaLa1o4LsApc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=mCxztwcA; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="mCxztwcA" Received: by linux.microsoft.com (Postfix, from userid 1173) id 86D9920C8C63; Mon, 30 Sep 2024 01:12:30 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 86D9920C8C63 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1727683950; bh=aJfcW+SnLrtO8B80Y7aKM3iIgHe2LRVFhMf8g7MibuM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mCxztwcAbN05peCzD6y9PHK/AUWHmkAHDM12qfDJxOhC4Cd9Pcd7ZwLZUTdPhdtp0 cdvXzXhr4U+1IHelAUlpcwTwkXTn2oJ+3B5pRTnrpyjO27zLib915IxUJm9VEN3PyD xiq5qLdPFi+ZjinTUrtIMTIjbZ+EtxSqUYp0esKU= From: Erni Sri Satya Vennela To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, jikos@kernel.org, bentiss@kernel.org, dmitry.torokhov@gmail.com, mikelley@microsoft.com, linux-hyperv@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Cc: ernis@microsoft.com, Erni Sri Satya Vennela Subject: [PATCH v2 2/3] Revert "Input: hyperv-keyboard - register as a wakeup source" Date: Mon, 30 Sep 2024 01:11:56 -0700 Message-Id: <1727683917-31485-3-git-send-email-ernis@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1727683917-31485-1-git-send-email-ernis@linux.microsoft.com> References: <1727683917-31485-1-git-send-email-ernis@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This reverts commit 62238f3aadc9bc56da70100e19ec61b9f8d72a5f. Remove keyboard as wakeup source since Suspend-To-Idle feature is disabled. Signed-off-by: Erni Sri Satya Vennela --- drivers/input/serio/hyperv-keyboard.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/drivers/input/serio/hyperv-keyboard.c b/drivers/input/serio/hy= perv-keyboard.c index 31d9dacd2fd1..b42c546636bf 100644 --- a/drivers/input/serio/hyperv-keyboard.c +++ b/drivers/input/serio/hyperv-keyboard.c @@ -162,15 +162,6 @@ static void hv_kbd_on_receive(struct hv_device *hv_dev, serio_interrupt(kbd_dev->hv_serio, scan_code, 0); } spin_unlock_irqrestore(&kbd_dev->lock, flags); - - /* - * Only trigger a wakeup on key down, otherwise - * "echo freeze > /sys/power/state" can't really enter the - * state because the Enter-UP can trigger a wakeup at once. - */ - if (!(info & IS_BREAK)) - pm_wakeup_hard_event(&hv_dev->device); - break; =20 default: @@ -356,9 +347,6 @@ static int hv_kbd_probe(struct hv_device *hv_dev, goto err_close_vmbus; =20 serio_register_port(kbd_dev->hv_serio); - - device_init_wakeup(&hv_dev->device, true); - return 0; =20 err_close_vmbus: --=20 2.34.1 From nobody Thu Nov 28 18:49:34 2024 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 85781185937; Mon, 30 Sep 2024 08:12:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727683956; cv=none; b=c+5arLzQBmVQWpUIVhqdm8Ku9UfLcWIxqVW0MTrLQGZkqGX+je53Rsqnj7XsINmZWvNnGGSC5GQXCUFcNDUAqyq82H1orZZ3AeTHhaOeDWKDuJx65oGJA8wi28xqRyPQ5ZRS8dTfpWUwdrU1VcgmKjAze9DETCounhJ5rkBR5zE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727683956; c=relaxed/simple; bh=kk/hgYJKzfrSyEZ63RX3OFjZ+ojTIwIQixIFkUGn+HY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=fJcgI9w+cAkze0OW0tBVHvnwihBXxGSyuedMfkN8s0Ot4T5fvJAVDAaJQP02rpSVeZ40AKDuXJIbv9YjTgbH0fCsIUQLVS3FAMSA+ENz+bk9xpfeMchcGYMVP7yvDIC7AdmCZavgEMHYELw/WjCzJrmC9pKWQg2xXkkrS8OoF4w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=Luh721dP; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="Luh721dP" Received: by linux.microsoft.com (Postfix, from userid 1173) id 3A45220C8C63; Mon, 30 Sep 2024 01:12:35 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 3A45220C8C63 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1727683955; bh=6uy2HCfWrjzOK/GPEwENb235RVQzwbIIz+wXrMpaUeA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Luh721dPCXQ/jnoJhJ72hu8j4/zuMHI7ttozso439aRvt/DTDOtQiaP5ErPh6qfXT xqghT9v/lv5eaIofpc+zViPt8KXBQxxMzbsBDC5s5Aq/gATvGyLkCc/MA2I1sFcBYd XNfHH0iFUPZVU6fY1Gn5yLN2eKZ2gh+k94geNMb0= From: Erni Sri Satya Vennela To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, jikos@kernel.org, bentiss@kernel.org, dmitry.torokhov@gmail.com, mikelley@microsoft.com, linux-hyperv@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Cc: ernis@microsoft.com, Erni Sri Satya Vennela Subject: [PATCH v2 3/3] Revert "HID: hyperv: register as a wakeup source" Date: Mon, 30 Sep 2024 01:11:57 -0700 Message-Id: <1727683917-31485-4-git-send-email-ernis@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1727683917-31485-1-git-send-email-ernis@linux.microsoft.com> References: <1727683917-31485-1-git-send-email-ernis@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This reverts commit f1210455e78a610c7b316389b31c162c371d888c. Remove mouse as wakeup source since Suspend-To-Idle feature is disabled. Signed-off-by: Erni Sri Satya Vennela --- drivers/hid/hid-hyperv.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c index f33485d83d24..b6d0f7db4c93 100644 --- a/drivers/hid/hid-hyperv.c +++ b/drivers/hid/hid-hyperv.c @@ -293,9 +293,6 @@ static void mousevsc_on_receive(struct hv_device *devic= e, memcpy(input_dev->input_buf, input_report->buffer, len); hid_input_report(input_dev->hid_device, HID_INPUT_REPORT, input_dev->input_buf, len, 1); - - pm_wakeup_hard_event(&input_dev->device->device); - break; default: pr_err("unsupported hid msg type - type %d len %d\n", @@ -502,8 +499,6 @@ static int mousevsc_probe(struct hv_device *device, goto probe_err2; } =20 - device_init_wakeup(&device->device, true); - input_dev->connected =3D true; input_dev->init_complete =3D true; =20 @@ -526,7 +521,6 @@ static void mousevsc_remove(struct hv_device *dev) { struct mousevsc_dev *input_dev =3D hv_get_drvdata(dev); =20 - device_init_wakeup(&dev->device, false); vmbus_close(dev->channel); hid_hw_stop(input_dev->hid_device); hid_destroy_device(input_dev->hid_device); --=20 2.34.1