[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241022084348.4571-1-jinjian.song@fibocom.com>
Date: Tue, 22 Oct 2024 16:43:48 +0800
From: Jinjian Song <jinjian.song@...ocom.com>
To: chandrashekar.devegowda@...el.com,
chiranjeevi.rapolu@...ux.intel.com,
haijun.liu@...iatek.com,
m.chetan.kumar@...ux.intel.com,
ricardo.martinez@...ux.intel.com,
loic.poulain@...aro.org,
ryazanov.s.a@...il.com,
johannes@...solutions.net,
davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com
Cc: linux-kernel@...r.kernel.org,
netdev@...r.kernel.org,
linux-doc@...r.kernel.org,
angelogioacchino.delregno@...labora.com,
linux-arm-kernel@...ts.infradead.org,
matthias.bgg@...il.com,
corbet@....net,
linux-mediatek@...ts.infradead.org,
helgaas@...nel.org,
danielwinkler@...gle.com,
korneld@...gle.com,
Jinjian Song <jinjian.song@...ocom.com>
Subject: [net-next v2] net: wwan: t7xx: reset device if suspend fails
If driver fails to set the device to suspend, it means that the
device is abnormal. In this case, reset the device to recover
when PCIe device is offline.
Signed-off-by: Jinjian Song <jinjian.song@...ocom.com>
---
V2:
* Add judgment, reset when device is offline
---
drivers/net/wwan/t7xx/t7xx_pci.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/wwan/t7xx/t7xx_pci.c b/drivers/net/wwan/t7xx/t7xx_pci.c
index e556e5bd49ab..4f89a353588b 100644
--- a/drivers/net/wwan/t7xx/t7xx_pci.c
+++ b/drivers/net/wwan/t7xx/t7xx_pci.c
@@ -427,6 +427,10 @@ static int __t7xx_pci_pm_suspend(struct pci_dev *pdev)
iowrite32(T7XX_L1_BIT(0), IREG_BASE(t7xx_dev) + ENABLE_ASPM_LOWPWR);
atomic_set(&t7xx_dev->md_pm_state, MTK_PM_RESUMED);
t7xx_pcie_mac_set_int(t7xx_dev, SAP_RGU_INT);
+ if (pci_channel_offline(pdev)) {
+ dev_err(&pdev->dev, "Device offline, reset to recover\n");
+ t7xx_reset_device(t7xx_dev, PLDR);
+ }
return ret;
}
--
2.34.1
Powered by blists - more mailing lists