From patchwork Thu Sep 12 21:27:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erni Sri Satya Vennela X-Patchwork-Id: 13802703 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C7511273FC; Thu, 12 Sep 2024 21:28:12 +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=1726176494; cv=none; b=RC2uJGXA7mKnktxJAVXDagagrnzX3cRfB7NARb1AeBm0UhsMAtq1To5V7rQfb2FfJGRWl/zM79EkFEHgNO8dPtJrAU91uik8hRLEIu+7lYqrc/gzE7KeS0GAHIs7d/L0XCjshH4fpVtTrQF/jrRZ8HAfDgP7+WFPE2TUOheFNYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726176494; c=relaxed/simple; bh=C/0k5h/lz8R84whuzaRUihDwkeowMkaSPX+29qXmSxc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=NNIl2eraVSaLdyf2FsxwflaIn/UwFBHIgHHOLeMJdCRZp9piS4kLlY7N5ONhpg0oTJM2hM/cq51ZMlVcpy3meZZQi9b1HC7JzY3uVeTnmuAx7l5hbmLWZsdjBMfybd1J0vrapwrk79mwJw0tZCNNyYyBnmOEzml+kYiaeKdtkls= 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=mNwjzcjE; 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="mNwjzcjE" Received: by linux.microsoft.com (Postfix, from userid 1173) id 7A1DD20B9A7D; Thu, 12 Sep 2024 14:28:12 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 7A1DD20B9A7D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1726176492; bh=FiAEiFQKFxwfSrfKohS2aGHA4PAserjex5R9EsRTrSU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mNwjzcjEAkOH7NAGjLka2rBCaKvi0P0S65n+M7KIlbOO4MfGreD5lkC4WgIPB/ekS bUAFFtTAX4tTk7bn64X6+UKMp75hhFHyQpbarHz+RjVJzcnZI0gVUTaQkKM7+g0GSm f0qytzxHFfJaT47qlaF8hlK+78e3G1mJIj6Sytj0= 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, linux-hyperv@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Cc: ernis@microsoft.com, Erni Sri Satya Vennela , Saurabh Sengar Subject: [PATCH 1/3] Drivers: hv: vmbus: Disable Suspend-to-Idle for VMBus Date: Thu, 12 Sep 2024 14:27:48 -0700 Message-Id: <1726176470-13133-2-git-send-email-ernis@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1726176470-13133-1-git-send-email-ernis@linux.microsoft.com> References: <1726176470-13133-1-git-send-email-ernis@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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. Signed-off-by: Saurabh Sengar Signed-off-by: Erni Sri Satya Vennela --- drivers/hv/vmbus_drv.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 965d2a4efb7e..4efd8856392f 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) } #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 unexpectedly. + */ + return -EOPNOTSUPP; +} + /* * vmbus_suspend - Suspend a vmbus device */ @@ -969,7 +982,7 @@ static void vmbus_device_release(struct device *device) */ static const struct dev_pm_ops vmbus_pm = { - .suspend_noirq = NULL, + .suspend_noirq = vmbus_freeze, .resume_noirq = NULL, .freeze_noirq = vmbus_suspend, .thaw_noirq = vmbus_resume, From patchwork Thu Sep 12 21:27:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erni Sri Satya Vennela X-Patchwork-Id: 13802704 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BD1981C2441; Thu, 12 Sep 2024 21:28:17 +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=1726176499; cv=none; b=jBdQQ3Kifm3hD7bgApF60emgzbPLkGS2J5s/Oz+MEwBfxA9ibWSCOCsnYqcN4TBYBhkvTjv9TalZza7zYmsGC5cLb9432pMfKWFFp8PRIa4NLLsIPW5Ug+UxiQqpaTVKYqGbPIoOyrHK5t5CJW5N/my6mGIOOS52N41SikZH07M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726176499; c=relaxed/simple; bh=JIwb2fxdGTCY3ZXiwAi/IPPzke29FwK/r3lMIvWGaOA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=n6XdQ/4QG49pJLg79/MlGtd6aQKGeIvtCwGgZW1ggSNPKSMOgdyac0xKV4O8uqPLnCRfpY5rFBJKcLxZRZfKI/LnwQsNCpdv5Y8M3O5rD6soaKiGsg+sSEMj2L25MF0nApovXbEy/c8MaafQBY5sA9ol2lhDixVAjdMeQbsp8Is= 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=Afd38TyL; 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="Afd38TyL" Received: by linux.microsoft.com (Postfix, from userid 1173) id 817E420B9D5D; Thu, 12 Sep 2024 14:28:17 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 817E420B9D5D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1726176497; bh=1HKlBTJZg9nod4uf/oOpvVXZP9gG3UTdC9IPlLQXrZ4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Afd38TyLkkLjLkIGzvfXBgV3/b/x2qun2JHpgvSu1zzjg9ZlTJB0ep02B+QF/iLaI EsLIWejM3IaYvHdBpMUwLn1MbOFrJfc8guKUwoAL1Nl+l7vd6XBau8lvAOdMzF2IrM OZGFRGo2zJ+As60j8acfpuiIJS2guL2CG4ybkVVE= 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, 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 2/3] Revert "Input: hyperv-keyboard - register as a wakeup source" Date: Thu, 12 Sep 2024 14:27:49 -0700 Message-Id: <1726176470-13133-3-git-send-email-ernis@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1726176470-13133-1-git-send-email-ernis@linux.microsoft.com> References: <1726176470-13133-1-git-send-email-ernis@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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/hyperv-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; default: @@ -356,9 +347,6 @@ static int hv_kbd_probe(struct hv_device *hv_dev, goto err_close_vmbus; serio_register_port(kbd_dev->hv_serio); - - device_init_wakeup(&hv_dev->device, true); - return 0; err_close_vmbus: From patchwork Thu Sep 12 21:27:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erni Sri Satya Vennela X-Patchwork-Id: 13802705 X-Patchwork-Delegate: jikos@jikos.cz Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 43AB31C245D; Thu, 12 Sep 2024 21:28:24 +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=1726176505; cv=none; b=aG+VtTpV3vk+uhO+LqM/JCmf+3/XLdrOob+IFIffJUgncPmKB4kJXQoEoJymW0Jv8lrUVhNdlROfNYfb73Xzol06/MPRDHs5ViV3dDDnG5mPkJWsUSamlMhI29wyy6aqILxSoRZRRyYtnyNWrwaLF4lMEsdu6BuLq8xQB0YaMuk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726176505; c=relaxed/simple; bh=R9Vt5l4uV759u50znu0Kwms3/gcQROrvQjc9nqgC+MA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; b=XOADJui5hC0LeEwUmmGxVRYWyTOcjXSm8AputnHoDwxZguMVQDB3QG7gsmONSdgv1lpk4KKWvOz4vZh211mF6Kp0HRzbLFiQ+3es3WMj/jH52BLHf0imOp9xHENMdaIdaLHRj/eHkC0n3BnLYZ+xzKQ/5LoGsEgnxSrE42ccwII= 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=QCL4+jgV; 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="QCL4+jgV" Received: by linux.microsoft.com (Postfix, from userid 1173) id 1E7A920B9D5D; Thu, 12 Sep 2024 14:28:24 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 1E7A920B9D5D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1726176504; bh=dH1jkguCL91E0buKYm/Y8WVgFu63aCaiAaKV6PxAw4A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QCL4+jgVlkG2/OJ/AQpQ2oZQA+6Mm423VCNLQuNrU88B12C+qgVqhBgl6Y++M5Hl2 SnEsT+83uy0YJm/tpivAA+XPFMjStHHppmeU9ITSwXolBeQTLVpBnj/e/xuETwL6vb BHd4MP1z0zIbUfOu5+y73gZkUr1S11i20ASvxAqY= 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, 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 3/3] Revert "HID: hyperv: register as a wakeup source" Date: Thu, 12 Sep 2024 14:27:50 -0700 Message-Id: <1726176470-13133-4-git-send-email-ernis@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1726176470-13133-1-git-send-email-ernis@linux.microsoft.com> References: <1726176470-13133-1-git-send-email-ernis@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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 *device, 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; } - device_init_wakeup(&device->device, true); - input_dev->connected = true; input_dev->init_complete = true; @@ -526,7 +521,6 @@ static void mousevsc_remove(struct hv_device *dev) { struct mousevsc_dev *input_dev = hv_get_drvdata(dev); - device_init_wakeup(&dev->device, false); vmbus_close(dev->channel); hid_hw_stop(input_dev->hid_device); hid_destroy_device(input_dev->hid_device);