From nobody Sat Feb 7 07:10:13 2026 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 8DC002D193B; Sat, 18 Oct 2025 14:22:08 +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=1760797331; cv=none; b=P1lDNbguBrPOQDjvObg1TQb4FMwOSORy1zFe09Odb989hs1f01ehJ71Ee5bRkxWKYk1knwk/kdMJUBl/DbObwGH7aVS+v20ephI0hNmLRi/embrmaS81w9EnhTZLvsS20knUH9Oo3DOvzxbFXu7Zhx1RwlpbN3tfVtNBABOoQds= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760797331; c=relaxed/simple; bh=EqQ8MAIlBeL0HxmwV1J6+SA32Ee7gxWi1w10nll/Jdc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T+iGa3ZA3P/KPS3RoQeQOpUQxqoDeLZ6vShsOiIzdJIVqG0Ko6i88cUyVAl8FCEZAWEswyxq654iAX9cu+QKMvTL9L7p1ttHpEs+fjNiqYakrgMuOihsf7SDOShi9VGSZHv8fkNmM5Nq2+nh1PDI5rnVj7BdXVp04+NCs2fjl2s= 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=aaiiLurW; 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="aaiiLurW" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1760797321; bh=EqQ8MAIlBeL0HxmwV1J6+SA32Ee7gxWi1w10nll/Jdc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aaiiLurWhMWtr8LCK/2dqu39r37+fdrvSOENK6GtOv1lP3Eo/QA5FQd+HuWgOLzMe BB3tDBSZ7eY7SMl97xEqs1hlSfZW4Z0gF2UM2v7/T2+R13/buCJ6in0Wxi277e5Sav 2/rms0efZg56mg0XBt7IjDPfymZWktn0lc8aVeJTfVv+g0AIsPXcB/CsXF/FClibEP TQvHkzu4dHP9YrjwLGmYyPgtP3kOcuYuTbaG3fDsMb30DU3IWpO35OIVBItjQYLL+x rF44c5YKdGA+x+7GCeVp3QQBoUdLjTwstVePwRbMsV3TDkbflrQ7nqQoFh+lhxlZ/v l1Fj4cWRpO+Yg== 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 C464E17E0DB7; Sat, 18 Oct 2025 16:21:58 +0200 (CEST) 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: [RFC 1/4] PM: hibernate: export hibernation_in_progress() Date: Sat, 18 Oct 2025 19:21:04 +0500 Message-ID: <20251018142114.897445-2-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251018142114.897445-1-usama.anjum@collabora.com> References: <20251018142114.897445-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 hibernation_in_progress() to be used by other modules. Add its signature when hibernation config isn't enabled as well. Signed-off-by: Muhammad Usama Anjum --- include/linux/suspend.h | 2 ++ kernel/power/hibernate.c | 1 + 2 files changed, 3 insertions(+) diff --git a/include/linux/suspend.h b/include/linux/suspend.h index b02876f1ae38a..348831cdb60e4 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -393,6 +393,7 @@ extern void hibernation_set_ops(const struct platform_h= ibernation_ops *ops); extern int hibernate(void); extern bool system_entering_hibernation(void); extern bool hibernation_available(void); +extern bool hibernation_in_progress(void); asmlinkage int swsusp_save(void); extern struct pbe *restore_pblist; int pfn_is_nosave(unsigned long pfn); @@ -412,6 +413,7 @@ static inline void hibernation_set_ops(const struct pla= tform_hibernation_ops *op static inline int hibernate(void) { return -ENOSYS; } static inline bool system_entering_hibernation(void) { return false; } static inline bool hibernation_available(void) { return false; } +static inline bool hibernation_in_progress(void) { return false; } =20 static inline int hibernate_quiet_exec(int (*func)(void *data), void *data= ) { return -ENOTSUPP; diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c index 14e85ff235512..aadf82f57e868 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -105,6 +105,7 @@ bool hibernation_in_progress(void) { return !atomic_read(&hibernate_atomic); } +EXPORT_SYMBOL_GPL(hibernation_in_progress); =20 bool hibernation_available(void) { --=20 2.47.3 From nobody Sat Feb 7 07:10:13 2026 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 C5C401F3BA2; Sat, 18 Oct 2025 14:22:05 +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=1760797329; cv=none; b=UJKPDvUfuyzmutVChSKA/1zGeMPHokTB3aPie2PHJuvE46IfHlbGMXSk3buLLrat6AiKRp5oXe1ZYYtaTUvMs0Gv3EGIAdULyQ3fyi1DHN1tKt10mTvMVmE7OFfm55ohwAeQ/f+bAlhKodEmOjPAgDVHtRaRCBb2aa8CFNe/aJE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760797329; c=relaxed/simple; bh=9Yp3lWJoa834+XZ6vTMNTzs2BLUob7J+OnRKmzYu8r0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Sc4D6CluVf9/zh7XtM7gVlkBkO1THPCUbewJdVeitg5jJM1o2rewE7qZx8gwIxlaMLnqUajV550t4cgQhG1GzfwCAlOmWDYoFXZAVVrPf2eA6ni8PlvJ2KfRpozQnsf7KobSLyiVl7qA0S84BTCrGIuQKPT1CSlbLaJ6T/nrlHs= 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=Y3QQWzRp; 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="Y3QQWzRp" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1760797324; bh=9Yp3lWJoa834+XZ6vTMNTzs2BLUob7J+OnRKmzYu8r0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y3QQWzRpxO5IXGn61zAoOcjSsRL2U/BnlLMfr1ZqcQIkJo8SUdnBE9ixNQqXmS4r8 ZEZPXXCbr+bQKuUAoAE5ZwjiOLeV2kbo5WtHXxBDCuzfzuM2OsNWqpRVAbB+hYoJoX 2g7ETOuTnXtnUZgVHxD7hdg0LJtUhVDXeGaTEH2KZdixmrq7iqJpKZAs+/wtK4/j62 4uqz5ME8UoQcjq7fR3zdbpQwv/sC0K54CycwqzXKP3nSIlEa3/lZ9N5IsKA2YNGU1I xcyQysrXeTFjgA7k48QwaEsAAr8EvhTyVYAJVpdWumWiG10wCjBQ87q1KcYS+NyRY1 OEi415JhXtxeA== 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 957E617E124A; Sat, 18 Oct 2025 16:22:01 +0200 (CEST) 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: [RFC 2/4] ACPI: button: Cancel hibernation if button is pressed during hibernation Date: Sat, 18 Oct 2025 19:21:05 +0500 Message-ID: <20251018142114.897445-3-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251018142114.897445-1-usama.anjum@collabora.com> References: <20251018142114.897445-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. But system doesn't wake up as pm_wakeup_dev_event() isn't called with hard parameter set in case of hibernation. It gets set only for s2idle cases. 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. Hence hibernation would be cancelled as in hibernation path, this counter is checked if it should be aborted. Signed-off-by: Muhammad Usama Anjum --- 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 0a70260401882..4a2575c0c44e3 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 && + hibernation_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 Sat Feb 7 07:10:13 2026 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 8DC8F2D47EE; Sat, 18 Oct 2025 14:22:08 +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=1760797330; cv=none; b=qzDlvd/C2EL94kJOpyWfPxWQYbqmUjk/nJY6kceL8meJtlo9EdclTwPtC80C71pPOy+L8iTQw4YlIO5RynLy5YCPwUQfDPxb5vWHUwO/SKQaqAbiPaRhHOLWsxsWKIPT0qG8tWzCTZRYmDHUm2Iu95khR7/LOBJuKT3Jl8u7YxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760797330; c=relaxed/simple; bh=0GCM+sC4vUY2XQf0nMipoEUodjdAnH62YcPJ2JBPJ8U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IaJE8NQHKaCd30HWwW7RL+77/CTIsnTHZN6oaNJjwkG7eNQT+2X80XIlgWUEldjDA/bQPVKVmqK6Gr80ijucHoyzTyEnNl6aEBDGbAjsXYHKZLj6UVM916+JLVQEBaGl5KBvpZHnHyjdqdptcVreyxTPzPvwCNXL1Si8N7ERBfM= 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=TD+8zrys; 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="TD+8zrys" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1760797326; bh=0GCM+sC4vUY2XQf0nMipoEUodjdAnH62YcPJ2JBPJ8U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TD+8zryswrNSzOq+8mjBD5lLX2QRNXnHv0MQbMGvTwcjNF5J4e/0ZBdEzSBGRJr0e +2XhOFnpB055YcsgojqGBpvX8IHd+kF2UmqBzeHzq9DQGRm/1U6qEjQSe7/ffcSO3n w3E8LidbVdJXn9OaOP73UhkKiEBrX+OD8JynpLk2sfJLIwqbmJ8EJUsTuCG7sjBTVv 7rz2KxikMRwu8JqwXjHjUXQJD+XH2Dr3qnQvPni5yUCeU47wxNnJZEj1qCHNf9IAu6 odj53/098mKCIpz8QtdqVBVVfhpKxOwZIMHXdbC/n1htn0tQk3GQvBbyl/wbQO4GYb ntdPCvSn/T5SQ== 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 66F2017E13E0; Sat, 18 Oct 2025 16:22:04 +0200 (CEST) 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: [RFC 3/4] Input: Ignore the KEY_POWER events if hibernation is in progress Date: Sat, 18 Oct 2025 19:21:06 +0500 Message-ID: <20251018142114.897445-4-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251018142114.897445-1-usama.anjum@collabora.com> References: <20251018142114.897445-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" 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 awake API as well. Without this, the event is sent to the userspace and it suspends the device after hibernation cancellation. Signed-off-by: Muhammad Usama Anjum --- drivers/input/input.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/input/input.c b/drivers/input/input.c index a500e1e276c21..0979f18aae6a2 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 && hibernation_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 Sat Feb 7 07:10:13 2026 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 9E02C2FBE04; Sat, 18 Oct 2025 14:22:11 +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=1760797333; cv=none; b=PRe48qgidWTbWX3tqn6flp2/Z8gk+sAijEOBefxP4hMmadMfn8EmwEfPG4xBt8l5xqesu6bNTMJtJCnnsJj8HjwRlp5Igq215QqYOwLUPcUziiZodThr5z5T3PO6IcaDSQbd7F+V8OER0K7/190RVRNq2SSpXdWeqeZF7X1G2oY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760797333; c=relaxed/simple; bh=t/dFdhvyuz66Bza7SgTKVPfg4WTopgWxJbZsaxCOTOg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WhsjhItCyin0NZeB8+gsIpABLrIonvdKNSQeWRriq6MoMLdbLT05APCf1CWWdddZvz3WxZsVo1S2+iBZ8Kd70BqUT1CbJApkMskz8Rg0msrPr3CdV8gCJVkSrVhOXT1AgCeOc/i/gHEv5karyDgwarRDat0XMh7W6O9KZmYWdrY= 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=HVOXcCeC; 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="HVOXcCeC" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1760797329; bh=t/dFdhvyuz66Bza7SgTKVPfg4WTopgWxJbZsaxCOTOg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HVOXcCeC6R/8O24N4CWmc9cPxh/HOTY8T1lEZ56rfwNuZNV6qkVt4g5QkcXOYOu13 m3ZEBuNIinO/as+SRtiGyRaV6hnWp00IVPUiolKC1so4lJX4eHNkQHQnrtXn41Ef+s SPcH5K/tEEs9Rl+8UWFzCfWzfv7Av0JRwMUs5+ymv2hzn4Wc0ASK1sbfJnuhg26QSi rYhIyLIjYHVWkWoJBg7a1XVBYJC4TybxeSBZmr1nro2QZuGNN/HQtk8F74s6Yxyckw GfpocVSnk3Hzp4DxqSmG6wQIl+8H7+x390IT05vW9omPPUHPsTHrRVzXVAGwbdKfdB YiZiy1/E87TZA== 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 3786A17E13F2; Sat, 18 Oct 2025 16:22:07 +0200 (CEST) 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: [RFC 4/4] PM: sleep: clear pm_abort_suspend at suspend Date: Sat, 18 Oct 2025 19:21:07 +0500 Message-ID: <20251018142114.897445-5-usama.anjum@collabora.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251018142114.897445-1-usama.anjum@collabora.com> References: <20251018142114.897445-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 bcfb170baca63..481744e7d9688 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -1627,6 +1627,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; } @@ -1872,6 +1873,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 aadf82f57e868..1a4a5c3c64970 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -350,8 +350,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(); @@ -661,6 +663,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 8ff68ebaa1e08..7a278e049940c 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