diff mbox series

[3/3] serial: qcom-geni: drop bogus runtime pm state update

Message ID 20230713145741.30390-4-johan+linaro@kernel.org
State Accepted
Commit 4dd8752a14ca0303fbdf0a6c68ff65f0a50bd2fa
Headers show
Series PM / wakeirq: fix wake irq arming | expand

Commit Message

Johan Hovold July 13, 2023, 2:57 p.m. UTC
The runtime PM state should not be changed by drivers that do not
implement runtime PM even if it happens to work around a bug in PM core.

With the wake irq arming now fixed, drop the bogus runtime PM state
update which left the device in active state (and could potentially
prevent a parent device from suspending).

Fixes: f3974413cf02 ("tty: serial: qcom_geni_serial: Wakeup IRQ cleanup")
Cc: stable@vger.kernel.org      # 5.6
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 drivers/tty/serial/qcom_geni_serial.c | 7 -------
 1 file changed, 7 deletions(-)

Comments

Tony Lindgren July 14, 2023, 7:20 a.m. UTC | #1
* Johan Hovold <johan+linaro@kernel.org> [230713 15:01]:
> The runtime PM state should not be changed by drivers that do not
> implement runtime PM even if it happens to work around a bug in PM core.
> 
> With the wake irq arming now fixed, drop the bogus runtime PM state
> update which left the device in active state (and could potentially
> prevent a parent device from suspending).

Reviewed-by: Tony Lindgren <tony@atomide.com>
diff mbox series

Patch

diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
index 88ed5bbe25a8..b825b05e6137 100644
--- a/drivers/tty/serial/qcom_geni_serial.c
+++ b/drivers/tty/serial/qcom_geni_serial.c
@@ -1681,13 +1681,6 @@  static int qcom_geni_serial_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	/*
-	 * Set pm_runtime status as ACTIVE so that wakeup_irq gets
-	 * enabled/disabled from dev_pm_arm_wake_irq during system
-	 * suspend/resume respectively.
-	 */
-	pm_runtime_set_active(&pdev->dev);
-
 	if (port->wakeup_irq > 0) {
 		device_init_wakeup(&pdev->dev, true);
 		ret = dev_pm_set_dedicated_wake_irq(&pdev->dev,