diff --git a/drivers/net/wireless/cnss2/main.c b/drivers/net/wireless/cnss2/main.c index 029a6cd09dfe..1c3bc5865a7d 100644 --- a/drivers/net/wireless/cnss2/main.c +++ b/drivers/net/wireless/cnss2/main.c @@ -1115,6 +1115,7 @@ static int cnss_do_recovery(struct cnss_plat_data *plat_priv, return 0; self_recovery: + cnss_pr_dbg("Going for self recovery\n"); cnss_bus_dev_shutdown(plat_priv); cnss_bus_dev_powerup(plat_priv); @@ -2621,6 +2622,11 @@ static void cnss_init_control_params(struct cnss_plat_data *plat_priv) plat_priv->cbc_enabled = of_property_read_bool(plat_priv->plat_dev->dev.of_node, "qcom,wlan-cbc-enabled"); + + if (of_property_read_bool(plat_priv->plat_dev->dev.of_node, + "cnss-enable-self-recovery")) + plat_priv->ctrl_params.quirks |= BIT(LINK_DOWN_SELF_RECOVERY); + plat_priv->ctrl_params.mhi_timeout = CNSS_MHI_TIMEOUT_DEFAULT; plat_priv->ctrl_params.mhi_m2_timeout = CNSS_MHI_M2_TIMEOUT_DEFAULT; plat_priv->ctrl_params.qmi_timeout = CNSS_QMI_TIMEOUT_DEFAULT; diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index 56e39905defe..04804da77e80 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -368,7 +368,8 @@ int cnss_pci_check_link_status(struct cnss_pci_data *pci_priv) u16 device_id; if (pci_priv->pci_link_state == PCI_LINK_DOWN) { - cnss_pr_dbg("%ps: PCIe link is suspended\n", (void *)_RET_IP_); + cnss_pr_dbg("%ps: PCIe link is in suspend state\n", + (void *)_RET_IP_); return -EACCES; } @@ -898,7 +899,7 @@ int cnss_pci_prevent_l1(struct device *dev) } if (pci_priv->pci_link_state == PCI_LINK_DOWN) { - cnss_pr_dbg("PCIe link is suspended\n"); + cnss_pr_dbg("PCIe link is in suspend state\n"); return -EIO; } @@ -922,7 +923,7 @@ void cnss_pci_allow_l1(struct device *dev) } if (pci_priv->pci_link_state == PCI_LINK_DOWN) { - cnss_pr_dbg("PCIe link is suspended\n"); + cnss_pr_dbg("PCIe link is in suspend state\n"); return; } @@ -2450,6 +2451,7 @@ static void cnss_pci_event_cb(struct msm_pcie_notify *notify) switch (notify->event) { case MSM_PCIE_EVENT_LINKDOWN: + cnss_pr_dbg("PCI link down event callback\n"); cnss_pci_handle_linkdown(pci_priv); break; case MSM_PCIE_EVENT_WAKEUP: