From a73babdb3e6d865f2eeec032ea97b1297b064f15 Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Fri, 20 Nov 2020 18:30:37 -0800 Subject: [PATCH] cnss2: pci: Trigger link down recovery if link fails to enter L0 In case if link fails to transition to L0 trigger inferred link down recovery to collect RDDM dump. Change-Id: I43326af34744501c542a1a1e22d6a9b5378c7289 Signed-off-by: Hemant Kumar --- drivers/net/wireless/cnss2/pci.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index 97298f1b5688..0161957ad6c7 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -892,6 +892,7 @@ int cnss_pci_prevent_l1(struct device *dev) { struct pci_dev *pci_dev = to_pci_dev(dev); struct cnss_pci_data *pci_priv = cnss_get_pci_priv(pci_dev); + int ret; if (!pci_priv) { cnss_pr_err("pci_priv is NULL\n"); @@ -908,7 +909,13 @@ int cnss_pci_prevent_l1(struct device *dev) return -EIO; } - return msm_pcie_prevent_l1(pci_dev); + ret = msm_pcie_prevent_l1(pci_dev); + if (ret) { + cnss_pr_err("Failed to prevent PCIe L1, considered as link down\n"); + cnss_pci_link_down(dev); + } + + return ret; } EXPORT_SYMBOL(cnss_pci_prevent_l1);