From nobody Fri Dec 19 20:36:27 2025 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0232338593; Fri, 7 Nov 2025 18:45:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541125; cv=none; b=KIG6tAH9uPEGlxp1vQsdco2N5tfaNSjv0R44yqk6iCePCIU5vN20dOwwNG7xa8L4VNGF7DTR4SZIKEoOxLVx/QYOR62Wp4/2WayOqdy8hR8oxNztYKC2y6g3+9+78ieFshANQjNWvahT4WRrhbZ5njX+7hfaMMv5EOkD5coGdzM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541125; c=relaxed/simple; bh=lLwaDEBgZ3XXm5ekoIesIjr8qgF4E0RS+/DB0seu4ZI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oyaU5yRzQwWvI0/YHRH7dyrlaUGJXUJYHxI00z1XLBytDWz07u9DIqnFnpj7+UYBzr866VTgiT5wD3UKmaQQx1gOI7aiwkT2sMZ14vGJDRAOhVM+AUEX4jEn0ZACZ0YwvICNDwyf89sjJKX7wyL/iz4KHsoLz5Tz8Boz7KRWSJc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=ndBaIEq+; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="ndBaIEq+" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1762541122; bh=lLwaDEBgZ3XXm5ekoIesIjr8qgF4E0RS+/DB0seu4ZI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ndBaIEq+5KgEQ5J/OOp/DaF56bCw5VFLcuVivAXg2snLNuebSxv3uudXArsHrf1x3 S2tVRDcqBTKilDbxEOnbMLStBOT4RvSm9wgVSlfj1mFqirHsaGJlD8R+nw23J/wh6C RFymf1VvVK2wDA7ubT17+qGlPPGh+IEpxEHXfqWnCl2sdshURMxELslpZ+3wxhfloQ FAn7oW3jBE9tLoabiuNq+6+QAgrNrVQcJ7zg2ob2NA+0vA09yVDOU4dtcj6m/itjhe Ot5nTGIfKPRMKdbW7GF5l/vR6i68ATVSsD5Od1VGwYlusH28OvEE92Rd1hUyAL9mkq HGYalEUbEaSdQ== Received: from mt.tail9873f4.ts.net (unknown [144.48.130.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by bali.collaboradmins.com (Postfix) with ESMTPSA id 886BC17E107C; Fri, 7 Nov 2025 19:45:18 +0100 (CET) From: Muhammad Usama Anjum To: "Rafael J. Wysocki" , Len Brown , Pavel Machek , Greg Kroah-Hartman , Danilo Krummrich , Dmitry Torokhov , Thomas Gleixner , Peter Zijlstra , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-input@vger.kernel.org Cc: Muhammad Usama Anjum , kernel@collabora.com, superm1@kernel.org Subject: [PATCH 1/4] PM: hibernate: export pm_sleep_transition_in_progress() Date: Fri, 7 Nov 2025 23:44:28 +0500 Message-ID: <20251107184438.1328717-2-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251107184438.1328717-1-usama.anjum@collabora.com> References: <20251107184438.1328717-1-usama.anjum@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Export pm_sleep_transition_in_progress() to be used by other modules. Signed-off-by: Muhammad Usama Anjum --- kernel/power/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/power/main.c b/kernel/power/main.c index 33a47ed15994f..ff3354b5be150 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c @@ -570,6 +570,7 @@ bool pm_sleep_transition_in_progress(void) { return pm_suspend_in_progress() || hibernation_in_progress(); } +EXPORT_SYMBOL_GPL(pm_sleep_transition_in_progress); #endif /* CONFIG_PM_SLEEP */ =20 #ifdef CONFIG_PM_SLEEP_DEBUG --=20 2.47.3 From nobody Fri Dec 19 20:36:27 2025 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A99933B940; Fri, 7 Nov 2025 18:45:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541130; cv=none; b=rGVa8BpPSeTLol/GZFFYvyAHjykaKeyB0HkJ+cvq/Sy6xZ/cgsUaZPAWe7qTG9dAceBNVL5CKQxRQjXynBvAc1Ac4tP9uIwfsZk0zawtLVltxJFQcApPKBW93nqfBcAJpUeg5KnKgZHblqIXrIAZ6evnjaT2YGVac9i+B2Lfh6M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541130; c=relaxed/simple; bh=p7JYx3rGvaWC41tnyNec+b33gebpWFTr9SuPyJ8mJn0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JAkQtYTdqskSkSEUaU/wRkD2IdWrVsI+Z6EXZnLUu90ca4XSbMOzuLMLamAuCOAq0cHc+K2USfS7OlDc8uohpzIbdf/XLhLmaurMA65SsUHMngZD17YhGqvju0I081lIi6IymBlODii/4/ZCj3rsXbGa+Fx7gfv1t3I5fHMEHx0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=enMnSQJS; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="enMnSQJS" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1762541126; bh=p7JYx3rGvaWC41tnyNec+b33gebpWFTr9SuPyJ8mJn0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=enMnSQJSX3lrRnxVvEndU3PZ4Hg05uwRZ1q8BywGQzNQJ1wPzPnuPwuaTi8zbZmSN 51TrgoPC4QKOyG7Ljd4/dmPgJNP7uZoZvDqhvmkVRUBGBsK0h7ihG94NdXaeUOWIoA kCkg6KC/OSNSrWCq9OoHtt3L8k86ariSfSPmhAAUkPdODtsfJ0hiwav4+EAd+jdgrj WI3WwoLX0BHsHA7leegPkvnbcdqlRSKgD4gYpcNPnQlX9EZzirGGXQ2ad4KmF8LTGU onNnDuyK6dUdO2+1H1z0HEY3UFJlEoBB0XaA3Hx18pH35zz+hyM68AdZCbhMeV7h5F isbsWVaiGlQuQ== Received: from mt.tail9873f4.ts.net (unknown [144.48.130.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by bali.collaboradmins.com (Postfix) with ESMTPSA id D0E3B17E108B; Fri, 7 Nov 2025 19:45:22 +0100 (CET) From: Muhammad Usama Anjum To: "Rafael J. Wysocki" , Len Brown , Pavel Machek , Greg Kroah-Hartman , Danilo Krummrich , Dmitry Torokhov , Thomas Gleixner , Peter Zijlstra , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-input@vger.kernel.org Cc: Muhammad Usama Anjum , kernel@collabora.com, superm1@kernel.org Subject: [PATCH 2/4] ACPI: button: Cancel hibernation if button is pressed during hibernation Date: Fri, 7 Nov 2025 23:44:29 +0500 Message-ID: <20251107184438.1328717-3-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251107184438.1328717-1-usama.anjum@collabora.com> References: <20251107184438.1328717-1-usama.anjum@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" acpi_pm_wakeup_event() is called from acpi_button_notify() which is called when power button is pressed. The system is worken up from s2idle in this case by setting hard parameter to pm_wakeup_dev_event(). Call acpi_pm_wakeup_event() if power button is pressed and hibernation is in progress. Set the hard parameter such that pm_system_wakeup() gets called which increments pm_abort_suspend counter. The explicit call to acpi_pm_wakeup_event() is necessary as ACPI button device has the wakeup source. Hence call to input_report_key() with input device doesn't call pm_system_wakeup() as it doesn't have wakeup source registered. Hence hibernation would be cancelled as in hibernation path, this counter is checked if it should be aborted. Signed-off-by: Muhammad Usama Anjum --- Changes since RFC: - Use pm_sleep_transition_in_progress() - Update descriptin why explicit call to acpi_pm_wakeup_event() is necessary --- drivers/acpi/button.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c index 3c6dd9b4ba0ad..e4be5c763edaf 100644 --- a/drivers/acpi/button.c +++ b/drivers/acpi/button.c @@ -20,6 +20,7 @@ #include #include #include +#include =20 #define ACPI_BUTTON_CLASS "button" #define ACPI_BUTTON_FILE_STATE "state" @@ -458,11 +459,16 @@ static void acpi_button_notify(acpi_handle handle, u3= 2 event, void *data) acpi_pm_wakeup_event(&device->dev); =20 button =3D acpi_driver_data(device); - if (button->suspended || event =3D=3D ACPI_BUTTON_NOTIFY_WAKE) - return; - input =3D button->input; keycode =3D test_bit(KEY_SLEEP, input->keybit) ? KEY_SLEEP : KEY_POWER; + if (event =3D=3D ACPI_BUTTON_NOTIFY_STATUS && keycode =3D=3D KEY_POWER && + pm_sleep_transition_in_progress()) { + pm_wakeup_dev_event(&device->dev, 0, true); + return; + } + + if (button->suspended || event =3D=3D ACPI_BUTTON_NOTIFY_WAKE) + return; =20 input_report_key(input, keycode, 1); input_sync(input); --=20 2.47.3 From nobody Fri Dec 19 20:36:27 2025 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83862338593; Fri, 7 Nov 2025 18:45:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541134; cv=none; b=C4R2nvOeTKCyzdrM3iBmMz56q7a7hJw/20XrmMc7+AlJAW1ZDuA0R7MU/40KJqdWwTavELMUgdtmmGukFRSwMgOcZpHa/swJN5SnJqpehqVBXjw4FuA24tBDFoXssnMQIiEgmzDYz/zG6yXoc5s0vjyns/7mRaoMpezX4Obkn/w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541134; c=relaxed/simple; bh=xXmvoJ0fKBqNUDweBaWsvebE39hNADx8jJYSuxdv35A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gCdJUvzQ1viSaAT3L9VDtU/3oJt+BXV79DKVlUlaaFwmYwfss8JIY98EKlvNk6wYwQbluW2kqvdYP4bqZy5XgBUT2bewHZ3dpZW5cgfGVOO2pTP08nBkNly7A3v/9V9Itd3HIJh0WFFjKUkopjSUckKBzSpzapVDzCMGr7AtY10= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=DnNKWtv+; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="DnNKWtv+" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1762541130; bh=xXmvoJ0fKBqNUDweBaWsvebE39hNADx8jJYSuxdv35A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DnNKWtv+rB/0BdGYpARjhf9sHNvwJZ8ACTDYkp6vu2tQoT8hZ93JOgxfeyv8BUvSL cYYzGuIu7vYeYoHC1Mysi4EQlx5HNj7zGLGxJQzcitZRAWevQUHWqX5IKisSx9qSf7 3Hwvuca4CR2Hm8nNtVO/haQKDPFJ3qxfGXWYJ4193kFLhx3okjLIpe4Y0xbbSni8Tj rlfIeyS6Fu28/5Za0vLbiZHah1AtNerWnCqWEVdeGR354BPhUw7RHfwGsLFwkTvp+W hC3sYr+sDnocadiF84nHNpqe/njnsv+xxOkzJJ4JXoMgq5ym1YNUBAzRrIMBNr04Ku UC7EVhcN0wWKQ== Received: from mt.tail9873f4.ts.net (unknown [144.48.130.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by bali.collaboradmins.com (Postfix) with ESMTPSA id 2223E17E139C; Fri, 7 Nov 2025 19:45:26 +0100 (CET) From: Muhammad Usama Anjum To: "Rafael J. Wysocki" , Len Brown , Pavel Machek , Greg Kroah-Hartman , Danilo Krummrich , Dmitry Torokhov , Thomas Gleixner , Peter Zijlstra , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-input@vger.kernel.org Cc: Muhammad Usama Anjum , kernel@collabora.com, superm1@kernel.org Subject: [PATCH 3/4] Input: Ignore the KEY_POWER events if hibernation is in progress Date: Fri, 7 Nov 2025 23:44:30 +0500 Message-ID: <20251107184438.1328717-4-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251107184438.1328717-1-usama.anjum@collabora.com> References: <20251107184438.1328717-1-usama.anjum@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Input (Serio) drivers call input_handle_event(). Although the serio drivers have duplicate events, they have separate code path and call input_handle_event(). Ignore the KEY_POWER such that this event isn't sent to the userspace if hibernation is in progress. Abort the hibernation by calling pm_wakeup_dev_event(). In case of serio, doesn't have wakeup source registered, this call doesn't do anything. But there may be other input drivers which will require this. Without this, the event is sent to the userspace and it suspends the device after hibernation cancellation. Signed-off-by: Muhammad Usama Anjum --- Changes since RFC: - Use pm_sleep_transition_in_progress() - Update description --- drivers/input/input.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/input/input.c b/drivers/input/input.c index a500e1e276c21..7939bd9e47668 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "input-compat.h" #include "input-core-private.h" #include "input-poller.h" @@ -362,6 +363,11 @@ void input_handle_event(struct input_dev *dev, =20 lockdep_assert_held(&dev->event_lock); =20 + if (code =3D=3D KEY_POWER && pm_sleep_transition_in_progress()) { + pm_wakeup_dev_event(&dev->dev, 0, true); + return; + } + disposition =3D input_get_disposition(dev, type, code, &value); if (disposition !=3D INPUT_IGNORE_EVENT) { if (type !=3D EV_SYN) --=20 2.47.3 From nobody Fri Dec 19 20:36:27 2025 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9593E33A018; Fri, 7 Nov 2025 18:45:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541138; cv=none; b=APhA2K1YjHHMoSxEf6LvrAqplKlxdTb0rpRNNCK9jXmeeprEzYKkxvTccq7vATVY+LiCYFtrPHtHv56epAhdiLVZ2j0JNOU0YZQeoN6Q0g3GUaE2ralUCbaHijBQFAKKe63X+nJjM8ke9lRipJxD1Q86NJtZFtElSs5Ug5ETkh8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762541138; c=relaxed/simple; bh=pMaB8Afh0kVsepOVHLiBuIVRvMz+wN1V9FeD5y8QKKE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lxLBgIW6vJGFZaER92Lh0Qsoo8t9qtZvSTi+VDAnYUSHIJDUBC30WBu3xwQsbWM9CrnJ9LS+1n7fuYkqsrr2tjnLqeyATdqcJUnrPyrAVX1MzZWV4xfXXJly8WWzapbt3hjoPHKiNd9yQk44nztNoxkXlWUYcW7VEUEc0IrL/20= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=a68+iFZt; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="a68+iFZt" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1762541135; bh=pMaB8Afh0kVsepOVHLiBuIVRvMz+wN1V9FeD5y8QKKE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a68+iFZtXi+o+FKwXWjf/BzcpOjpRywybGV5OpY4oUNilY+6Eam/Xhn6KwMLmstoG dXif6+axpRacotN2j9eJtI4xx9/uekNbg3OOqo7QoJf9fgxGQmyMDFVtWIM6Z14vFz lLPSsoLCNEJ3N0dl5a0Lfg+wxBJP7zHMYF8cpgonYdskwhZTWKEKjpQttgLV74XjoU gmVD9DGpAqCUqjAeQdR3F5UkdoN+s3o1KpqkswO7qmDJvIyn9j5TTAqfLEipBwPaC3 7aRt41KDNRwaWVYmat9QfssGNQdBdc/+N4yjhXGLXWmKDTJQgaMd26ZRfsaMKZR7pZ QKf5l5OquOukw== Received: from mt.tail9873f4.ts.net (unknown [144.48.130.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by bali.collaboradmins.com (Postfix) with ESMTPSA id 66ED317E108B; Fri, 7 Nov 2025 19:45:31 +0100 (CET) From: Muhammad Usama Anjum To: "Rafael J. Wysocki" , Len Brown , Pavel Machek , Greg Kroah-Hartman , Danilo Krummrich , Dmitry Torokhov , Thomas Gleixner , Peter Zijlstra , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-input@vger.kernel.org Cc: Muhammad Usama Anjum , kernel@collabora.com, superm1@kernel.org Subject: [PATCH 4/4] PM: sleep: clear pm_abort_suspend at suspend Date: Fri, 7 Nov 2025 23:44:31 +0500 Message-ID: <20251107184438.1328717-5-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251107184438.1328717-1-usama.anjum@collabora.com> References: <20251107184438.1328717-1-usama.anjum@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Clear pm_abort_suspend counter in case a wakeup is detected during hibernation process. If this counter isn't reset, it'll affect the next hibernation cycle and next time hibernation will not happen as pm_abort_suspend is still positive. Signed-off-by: Muhammad Usama Anjum --- drivers/base/power/main.c | 2 ++ kernel/cpu.c | 1 + kernel/power/hibernate.c | 5 ++++- kernel/power/process.c | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index 5760abb25b591..84e76f8df1e02 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -1642,6 +1642,7 @@ static void device_suspend_late(struct device *dev, p= m_message_t state, bool asy goto Complete; =20 if (pm_wakeup_pending()) { + pm_wakeup_clear(0); WRITE_ONCE(async_error, -EBUSY); goto Complete; } @@ -1887,6 +1888,7 @@ static void device_suspend(struct device *dev, pm_mes= sage_t state, bool async) =20 if (pm_wakeup_pending()) { dev->power.direct_complete =3D false; + pm_wakeup_clear(0); WRITE_ONCE(async_error, -EBUSY); goto Complete; } diff --git a/kernel/cpu.c b/kernel/cpu.c index db9f6c539b28c..74c9f6b4947dd 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -1921,6 +1921,7 @@ int freeze_secondary_cpus(int primary) =20 if (pm_wakeup_pending()) { pr_info("Wakeup pending. Abort CPU freeze\n"); + pm_wakeup_clear(0); error =3D -EBUSY; break; } diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c index e15907f28c4cd..1f6b60df45d34 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -349,8 +349,10 @@ static int create_image(int platform_mode) goto Enable_irqs; } =20 - if (hibernation_test(TEST_CORE) || pm_wakeup_pending()) + if (hibernation_test(TEST_CORE) || pm_wakeup_pending()) { + pm_wakeup_clear(0); goto Power_up; + } =20 in_suspend =3D 1; save_processor_state(); @@ -660,6 +662,7 @@ int hibernation_platform_enter(void) goto Enable_irqs; =20 if (pm_wakeup_pending()) { + pm_wakeup_clear(0); error =3D -EAGAIN; goto Power_up; } diff --git a/kernel/power/process.c b/kernel/power/process.c index dc0dfc349f22b..e935b27a04ae0 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -67,6 +67,7 @@ static int try_to_freeze_tasks(bool user_only) break; =20 if (pm_wakeup_pending()) { + pm_wakeup_clear(0); wakeup =3D true; break; } --=20 2.47.3