Loading drivers/net/wireless/cnss2/pci.c +23 −3 Original line number Original line Diff line number Diff line Loading @@ -1196,7 +1196,7 @@ static int cnss_pci_set_mhi_state(struct cnss_pci_data *pci_priv, cnss_pr_err("Failed to set MHI state: %s(%d) ret: %d\n", cnss_pr_err("Failed to set MHI state: %s(%d) ret: %d\n", cnss_mhi_state_to_str(mhi_state), mhi_state, ret); cnss_mhi_state_to_str(mhi_state), mhi_state, ret); if (mhi_state == CNSS_MHI_RESUME) if (mhi_state == CNSS_MHI_RESUME && ret != -ETIMEDOUT) cnss_force_fw_assert_async(&pci_priv->pci_dev->dev); cnss_force_fw_assert_async(&pci_priv->pci_dev->dev); return ret; return ret; Loading Loading @@ -2458,6 +2458,8 @@ static void cnss_pci_event_cb(struct msm_pcie_notify *notify) { { struct pci_dev *pci_dev; struct pci_dev *pci_dev; struct cnss_pci_data *pci_priv; struct cnss_pci_data *pci_priv; struct cnss_plat_data *plat_priv = NULL; int ret = 0; if (!notify) if (!notify) return; return; Loading @@ -2471,6 +2473,23 @@ static void cnss_pci_event_cb(struct msm_pcie_notify *notify) return; return; switch (notify->event) { switch (notify->event) { case MSM_PCIE_EVENT_LINK_RECOVER: cnss_pr_dbg("PCI link recover callback\n"); plat_priv = pci_priv->plat_priv; if (!plat_priv) { cnss_pr_err("plat_priv is NULL\n"); return; } plat_priv->ctrl_params.quirks |= BIT(LINK_DOWN_SELF_RECOVERY); ret = msm_pcie_pm_control(MSM_PCIE_HANDLE_LINKDOWN, pci_dev->bus->number, pci_dev, NULL, PM_OPTIONS_DEFAULT); if (ret) cnss_pci_handle_linkdown(pci_priv); break; case MSM_PCIE_EVENT_LINKDOWN: case MSM_PCIE_EVENT_LINKDOWN: cnss_pr_dbg("PCI link down event callback\n"); cnss_pr_dbg("PCI link down event callback\n"); cnss_pci_handle_linkdown(pci_priv); cnss_pci_handle_linkdown(pci_priv); Loading Loading @@ -2510,7 +2529,8 @@ static int cnss_reg_pci_event(struct cnss_pci_data *pci_priv) struct msm_pcie_register_event *pci_event; struct msm_pcie_register_event *pci_event; pci_event = &pci_priv->msm_pci_event; pci_event = &pci_priv->msm_pci_event; pci_event->events = MSM_PCIE_EVENT_LINKDOWN | pci_event->events = MSM_PCIE_EVENT_LINK_RECOVER | MSM_PCIE_EVENT_LINKDOWN | MSM_PCIE_EVENT_WAKEUP; MSM_PCIE_EVENT_WAKEUP; if (cnss_pci_is_drv_supported(pci_priv)) if (cnss_pci_is_drv_supported(pci_priv)) Loading Loading
drivers/net/wireless/cnss2/pci.c +23 −3 Original line number Original line Diff line number Diff line Loading @@ -1196,7 +1196,7 @@ static int cnss_pci_set_mhi_state(struct cnss_pci_data *pci_priv, cnss_pr_err("Failed to set MHI state: %s(%d) ret: %d\n", cnss_pr_err("Failed to set MHI state: %s(%d) ret: %d\n", cnss_mhi_state_to_str(mhi_state), mhi_state, ret); cnss_mhi_state_to_str(mhi_state), mhi_state, ret); if (mhi_state == CNSS_MHI_RESUME) if (mhi_state == CNSS_MHI_RESUME && ret != -ETIMEDOUT) cnss_force_fw_assert_async(&pci_priv->pci_dev->dev); cnss_force_fw_assert_async(&pci_priv->pci_dev->dev); return ret; return ret; Loading Loading @@ -2458,6 +2458,8 @@ static void cnss_pci_event_cb(struct msm_pcie_notify *notify) { { struct pci_dev *pci_dev; struct pci_dev *pci_dev; struct cnss_pci_data *pci_priv; struct cnss_pci_data *pci_priv; struct cnss_plat_data *plat_priv = NULL; int ret = 0; if (!notify) if (!notify) return; return; Loading @@ -2471,6 +2473,23 @@ static void cnss_pci_event_cb(struct msm_pcie_notify *notify) return; return; switch (notify->event) { switch (notify->event) { case MSM_PCIE_EVENT_LINK_RECOVER: cnss_pr_dbg("PCI link recover callback\n"); plat_priv = pci_priv->plat_priv; if (!plat_priv) { cnss_pr_err("plat_priv is NULL\n"); return; } plat_priv->ctrl_params.quirks |= BIT(LINK_DOWN_SELF_RECOVERY); ret = msm_pcie_pm_control(MSM_PCIE_HANDLE_LINKDOWN, pci_dev->bus->number, pci_dev, NULL, PM_OPTIONS_DEFAULT); if (ret) cnss_pci_handle_linkdown(pci_priv); break; case MSM_PCIE_EVENT_LINKDOWN: case MSM_PCIE_EVENT_LINKDOWN: cnss_pr_dbg("PCI link down event callback\n"); cnss_pr_dbg("PCI link down event callback\n"); cnss_pci_handle_linkdown(pci_priv); cnss_pci_handle_linkdown(pci_priv); Loading Loading @@ -2510,7 +2529,8 @@ static int cnss_reg_pci_event(struct cnss_pci_data *pci_priv) struct msm_pcie_register_event *pci_event; struct msm_pcie_register_event *pci_event; pci_event = &pci_priv->msm_pci_event; pci_event = &pci_priv->msm_pci_event; pci_event->events = MSM_PCIE_EVENT_LINKDOWN | pci_event->events = MSM_PCIE_EVENT_LINK_RECOVER | MSM_PCIE_EVENT_LINKDOWN | MSM_PCIE_EVENT_WAKEUP; MSM_PCIE_EVENT_WAKEUP; if (cnss_pci_is_drv_supported(pci_priv)) if (cnss_pci_is_drv_supported(pci_priv)) Loading