Patch "net: wwan: t7xx: Fix Runtime PM initialization" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: wwan: t7xx: Fix Runtime PM initialization

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-wwan-t7xx-fix-runtime-pm-initialization.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 7b5c69ae142be3ea0a20c8a5dbe3c6f7c93469ab
Author: Kornel Dulęba <mindal@xxxxxxxxxxxx>
Date:   Thu Jan 26 13:25:35 2023 +0000

    net: wwan: t7xx: Fix Runtime PM initialization
    
    [ Upstream commit e3d6d152a1cbdee25f2e3962009a2751b54e2297 ]
    
    For PCI devices the Runtime PM refcount is incremented twice:
    1. During device enumeration with a call to pm_runtime_forbid.
    2. Just before a driver probe logic is called.
    Because of that in order to enable Runtime PM on a given device
    we have to call both pm_runtime_allow and pm_runtime_put_noidle,
    once it's ready to be runtime suspended.
    The former was missing causing the pm refcount to never reach 0.
    
    Fixes: d10b3a695ba0 ("net: wwan: t7xx: Runtime PM")
    Signed-off-by: Kornel Dulęba <mindal@xxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wwan/t7xx/t7xx_pci.c b/drivers/net/wwan/t7xx/t7xx_pci.c
index 871f2a27a398..226fc1703e90 100644
--- a/drivers/net/wwan/t7xx/t7xx_pci.c
+++ b/drivers/net/wwan/t7xx/t7xx_pci.c
@@ -121,6 +121,8 @@ void t7xx_pci_pm_init_late(struct t7xx_pci_dev *t7xx_dev)
 	iowrite32(T7XX_L1_BIT(0), IREG_BASE(t7xx_dev) + ENABLE_ASPM_LOWPWR);
 	atomic_set(&t7xx_dev->md_pm_state, MTK_PM_RESUMED);
 
+	pm_runtime_mark_last_busy(&t7xx_dev->pdev->dev);
+	pm_runtime_allow(&t7xx_dev->pdev->dev);
 	pm_runtime_put_noidle(&t7xx_dev->pdev->dev);
 }
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux