Loading drivers/net/wireless/cnss2/main.c +5 −4 Original line number Diff line number Diff line Loading @@ -1100,6 +1100,11 @@ static int cnss_do_recovery(struct cnss_plat_data *plat_priv, self_recovery: cnss_pr_dbg("Going for self recovery\n"); cnss_bus_dev_shutdown(plat_priv); if (test_bit(LINK_DOWN_SELF_RECOVERY, &plat_priv->ctrl_params.quirks)) clear_bit(LINK_DOWN_SELF_RECOVERY, &plat_priv->ctrl_params.quirks); cnss_bus_dev_powerup(plat_priv); return 0; Loading Loading @@ -2506,10 +2511,6 @@ static void cnss_init_control_params(struct cnss_plat_data *plat_priv) "cnss-daemon-support")) plat_priv->ctrl_params.quirks |= BIT(ENABLE_DAEMON_SUPPORT); 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; Loading drivers/net/wireless/cnss2/pci.c +12 −0 Original line number Diff line number Diff line Loading @@ -891,6 +891,7 @@ int cnss_pci_link_down(struct device *dev) { struct pci_dev *pci_dev = to_pci_dev(dev); struct cnss_pci_data *pci_priv = cnss_get_pci_priv(pci_dev); struct cnss_plat_data *plat_priv = NULL; int ret; if (!pci_priv) { Loading @@ -898,6 +899,17 @@ int cnss_pci_link_down(struct device *dev) return -EINVAL; } plat_priv = pci_priv->plat_priv; if (!plat_priv) { cnss_pr_err("plat_priv is NULL\n"); return -ENODEV; } if (pci_priv->drv_connected_last && 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); cnss_pr_err("PCI link down is detected by drivers\n"); ret = msm_pcie_pm_control(MSM_PCIE_HANDLE_LINKDOWN, Loading Loading
drivers/net/wireless/cnss2/main.c +5 −4 Original line number Diff line number Diff line Loading @@ -1100,6 +1100,11 @@ static int cnss_do_recovery(struct cnss_plat_data *plat_priv, self_recovery: cnss_pr_dbg("Going for self recovery\n"); cnss_bus_dev_shutdown(plat_priv); if (test_bit(LINK_DOWN_SELF_RECOVERY, &plat_priv->ctrl_params.quirks)) clear_bit(LINK_DOWN_SELF_RECOVERY, &plat_priv->ctrl_params.quirks); cnss_bus_dev_powerup(plat_priv); return 0; Loading Loading @@ -2506,10 +2511,6 @@ static void cnss_init_control_params(struct cnss_plat_data *plat_priv) "cnss-daemon-support")) plat_priv->ctrl_params.quirks |= BIT(ENABLE_DAEMON_SUPPORT); 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; Loading
drivers/net/wireless/cnss2/pci.c +12 −0 Original line number Diff line number Diff line Loading @@ -891,6 +891,7 @@ int cnss_pci_link_down(struct device *dev) { struct pci_dev *pci_dev = to_pci_dev(dev); struct cnss_pci_data *pci_priv = cnss_get_pci_priv(pci_dev); struct cnss_plat_data *plat_priv = NULL; int ret; if (!pci_priv) { Loading @@ -898,6 +899,17 @@ int cnss_pci_link_down(struct device *dev) return -EINVAL; } plat_priv = pci_priv->plat_priv; if (!plat_priv) { cnss_pr_err("plat_priv is NULL\n"); return -ENODEV; } if (pci_priv->drv_connected_last && 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); cnss_pr_err("PCI link down is detected by drivers\n"); ret = msm_pcie_pm_control(MSM_PCIE_HANDLE_LINKDOWN, Loading