Loading drivers/net/wireless/cnss2/main.c +2 −0 Original line number Diff line number Diff line Loading @@ -1979,6 +1979,7 @@ static ssize_t shutdown_store(struct kobject *kobj, set_bit(CNSS_IN_REBOOT, &plat_priv->driver_state); del_timer(&plat_priv->fw_boot_timer); complete_all(&plat_priv->power_up_complete); complete_all(&plat_priv->cal_complete); } cnss_pr_dbg("Received shutdown notification\n"); Loading Loading @@ -2120,6 +2121,7 @@ static int cnss_reboot_notifier(struct notifier_block *nb, set_bit(CNSS_IN_REBOOT, &plat_priv->driver_state); del_timer(&plat_priv->fw_boot_timer); complete_all(&plat_priv->power_up_complete); complete_all(&plat_priv->cal_complete); cnss_pr_dbg("Reboot is in progress with action %d\n", action); return NOTIFY_DONE; Loading drivers/net/wireless/cnss2/pci.c +8 −2 Original line number Diff line number Diff line Loading @@ -2065,6 +2065,7 @@ int cnss_wlan_register_driver(struct cnss_wlan_driver *driver_ops) msecs_to_jiffies(timeout) << 2); if (!ret) { cnss_pr_err("Timeout waiting for calibration to complete\n"); if (!test_bit(CNSS_IN_REBOOT, &plat_priv->driver_state)) CNSS_ASSERT(0); cal_info = kzalloc(sizeof(*cal_info), GFP_KERNEL); Loading @@ -2077,6 +2078,11 @@ int cnss_wlan_register_driver(struct cnss_wlan_driver *driver_ops) 0, cal_info); } if (test_bit(CNSS_IN_REBOOT, &plat_priv->driver_state)) { cnss_pr_dbg("Reboot or shutdown is in progress, ignore register driver\n"); return -EINVAL; } register_driver: reinit_completion(&plat_priv->power_up_complete); ret = cnss_driver_event_post(plat_priv, Loading Loading @@ -2134,7 +2140,7 @@ void cnss_wlan_unregister_driver(struct cnss_wlan_driver *driver_ops) skip_wait_recovery: cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_UNREGISTER_DRIVER, CNSS_EVENT_SYNC_UNINTERRUPTIBLE, NULL); CNSS_EVENT_SYNC_UNKILLABLE, NULL); } EXPORT_SYMBOL(cnss_wlan_unregister_driver); Loading Loading
drivers/net/wireless/cnss2/main.c +2 −0 Original line number Diff line number Diff line Loading @@ -1979,6 +1979,7 @@ static ssize_t shutdown_store(struct kobject *kobj, set_bit(CNSS_IN_REBOOT, &plat_priv->driver_state); del_timer(&plat_priv->fw_boot_timer); complete_all(&plat_priv->power_up_complete); complete_all(&plat_priv->cal_complete); } cnss_pr_dbg("Received shutdown notification\n"); Loading Loading @@ -2120,6 +2121,7 @@ static int cnss_reboot_notifier(struct notifier_block *nb, set_bit(CNSS_IN_REBOOT, &plat_priv->driver_state); del_timer(&plat_priv->fw_boot_timer); complete_all(&plat_priv->power_up_complete); complete_all(&plat_priv->cal_complete); cnss_pr_dbg("Reboot is in progress with action %d\n", action); return NOTIFY_DONE; Loading
drivers/net/wireless/cnss2/pci.c +8 −2 Original line number Diff line number Diff line Loading @@ -2065,6 +2065,7 @@ int cnss_wlan_register_driver(struct cnss_wlan_driver *driver_ops) msecs_to_jiffies(timeout) << 2); if (!ret) { cnss_pr_err("Timeout waiting for calibration to complete\n"); if (!test_bit(CNSS_IN_REBOOT, &plat_priv->driver_state)) CNSS_ASSERT(0); cal_info = kzalloc(sizeof(*cal_info), GFP_KERNEL); Loading @@ -2077,6 +2078,11 @@ int cnss_wlan_register_driver(struct cnss_wlan_driver *driver_ops) 0, cal_info); } if (test_bit(CNSS_IN_REBOOT, &plat_priv->driver_state)) { cnss_pr_dbg("Reboot or shutdown is in progress, ignore register driver\n"); return -EINVAL; } register_driver: reinit_completion(&plat_priv->power_up_complete); ret = cnss_driver_event_post(plat_priv, Loading Loading @@ -2134,7 +2140,7 @@ void cnss_wlan_unregister_driver(struct cnss_wlan_driver *driver_ops) skip_wait_recovery: cnss_driver_event_post(plat_priv, CNSS_DRIVER_EVENT_UNREGISTER_DRIVER, CNSS_EVENT_SYNC_UNINTERRUPTIBLE, NULL); CNSS_EVENT_SYNC_UNKILLABLE, NULL); } EXPORT_SYMBOL(cnss_wlan_unregister_driver); Loading