Loading drivers/net/wireless/cnss2/main.c +13 −3 Original line number Diff line number Diff line Loading @@ -1010,6 +1010,11 @@ int cnss_force_fw_assert(struct device *dev) return -EOPNOTSUPP; } if (cnss_pci_is_device_down(dev)) { cnss_pr_info("Device is already in bad state, ignore force assert\n"); return 0; } if (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)) { cnss_pr_info("Recovery is already in progress, ignore forced FW assert\n"); return 0; Loading Loading @@ -1038,14 +1043,19 @@ int cnss_force_collect_rddm(struct device *dev) return -EOPNOTSUPP; } if (cnss_pci_is_device_down(dev)) { cnss_pr_info("Device is already in bad state, ignore force collect rddm\n"); return 0; } if (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)) { cnss_pr_info("Recovery is already in progress, ignore forced collect rddm\n"); return 0; } cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_FORCE_FW_ASSERT, 0, NULL); ret = cnss_bus_force_fw_assert_hdlr(plat_priv); if (ret) return ret; reinit_completion(&plat_priv->rddm_complete); ret = wait_for_completion_timeout Loading drivers/net/wireless/cnss2/pci.c +4 −6 Original line number Diff line number Diff line Loading @@ -1248,6 +1248,9 @@ static int cnss_pci_suspend_noirq(struct device *dev) if (driver_ops && driver_ops->suspend_noirq) ret = driver_ops->suspend_noirq(pci_dev); if (pci_priv->disable_pc && !pci_dev->state_saved) pci_save_state(pci_dev); out: return ret; } Loading Loading @@ -1769,17 +1772,12 @@ int cnss_pci_force_fw_assert_hdlr(struct cnss_pci_data *pci_priv) if (!plat_priv) return -ENODEV; if (cnss_pci_is_device_down(&pci_priv->pci_dev->dev)) { cnss_pr_info("Device is already in bad state, ignore force assert\n"); return 0; } ret = cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_TRIGGER_RDDM); if (ret) { cnss_pr_err("Failed to trigger RDDM, err = %d\n", ret); cnss_schedule_recovery(&pci_priv->pci_dev->dev, CNSS_REASON_DEFAULT); return 0; return ret; } if (!test_bit(CNSS_DEV_ERR_NOTIFY, &plat_priv->driver_state)) { Loading Loading
drivers/net/wireless/cnss2/main.c +13 −3 Original line number Diff line number Diff line Loading @@ -1010,6 +1010,11 @@ int cnss_force_fw_assert(struct device *dev) return -EOPNOTSUPP; } if (cnss_pci_is_device_down(dev)) { cnss_pr_info("Device is already in bad state, ignore force assert\n"); return 0; } if (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)) { cnss_pr_info("Recovery is already in progress, ignore forced FW assert\n"); return 0; Loading Loading @@ -1038,14 +1043,19 @@ int cnss_force_collect_rddm(struct device *dev) return -EOPNOTSUPP; } if (cnss_pci_is_device_down(dev)) { cnss_pr_info("Device is already in bad state, ignore force collect rddm\n"); return 0; } if (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)) { cnss_pr_info("Recovery is already in progress, ignore forced collect rddm\n"); return 0; } cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_FORCE_FW_ASSERT, 0, NULL); ret = cnss_bus_force_fw_assert_hdlr(plat_priv); if (ret) return ret; reinit_completion(&plat_priv->rddm_complete); ret = wait_for_completion_timeout Loading
drivers/net/wireless/cnss2/pci.c +4 −6 Original line number Diff line number Diff line Loading @@ -1248,6 +1248,9 @@ static int cnss_pci_suspend_noirq(struct device *dev) if (driver_ops && driver_ops->suspend_noirq) ret = driver_ops->suspend_noirq(pci_dev); if (pci_priv->disable_pc && !pci_dev->state_saved) pci_save_state(pci_dev); out: return ret; } Loading Loading @@ -1769,17 +1772,12 @@ int cnss_pci_force_fw_assert_hdlr(struct cnss_pci_data *pci_priv) if (!plat_priv) return -ENODEV; if (cnss_pci_is_device_down(&pci_priv->pci_dev->dev)) { cnss_pr_info("Device is already in bad state, ignore force assert\n"); return 0; } ret = cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_TRIGGER_RDDM); if (ret) { cnss_pr_err("Failed to trigger RDDM, err = %d\n", ret); cnss_schedule_recovery(&pci_priv->pci_dev->dev, CNSS_REASON_DEFAULT); return 0; return ret; } if (!test_bit(CNSS_DEV_ERR_NOTIFY, &plat_priv->driver_state)) { Loading