|
@@ -1197,7 +1197,6 @@ static void hdd_ssr_restart_sap(struct hdd_context *hdd_ctx)
|
|
|
QDF_STATUS hdd_wlan_shutdown(void)
|
|
|
{
|
|
|
struct hdd_context *hdd_ctx;
|
|
|
- p_cds_sched_context cds_sched_context = NULL;
|
|
|
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
|
|
|
|
|
hdd_info("WLAN driver shutting down!");
|
|
@@ -1215,6 +1214,18 @@ QDF_STATUS hdd_wlan_shutdown(void)
|
|
|
hdd_debug("Invoking packetdump deregistration API");
|
|
|
wlan_deregister_txrx_packetdump();
|
|
|
|
|
|
+
|
|
|
+ if (hdd_ctx->is_scheduler_suspended) {
|
|
|
+ scheduler_resume();
|
|
|
+ hdd_ctx->is_scheduler_suspended = false;
|
|
|
+ hdd_ctx->is_wiphy_suspended = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (hdd_ctx->is_ol_rx_thread_suspended) {
|
|
|
+ cds_resume_rx_thread();
|
|
|
+ hdd_ctx->is_ol_rx_thread_suspended = false;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
* After SSR, FW clear its txrx stats. In host,
|
|
|
* as adapter is intact so those counts are still
|
|
@@ -1240,19 +1251,6 @@ QDF_STATUS hdd_wlan_shutdown(void)
|
|
|
|
|
|
hdd_deregister_cb(hdd_ctx);
|
|
|
|
|
|
- cds_sched_context = get_cds_sched_ctxt();
|
|
|
-
|
|
|
- if (hdd_ctx->is_scheduler_suspended) {
|
|
|
- scheduler_resume();
|
|
|
- hdd_ctx->is_scheduler_suspended = false;
|
|
|
- hdd_ctx->is_wiphy_suspended = false;
|
|
|
- }
|
|
|
-
|
|
|
- if (true == hdd_ctx->is_ol_rx_thread_suspended) {
|
|
|
- complete(&cds_sched_context->ol_resume_rx_event);
|
|
|
- hdd_ctx->is_ol_rx_thread_suspended = false;
|
|
|
- }
|
|
|
-
|
|
|
hdd_wlan_stop_modules(hdd_ctx, false);
|
|
|
|
|
|
hdd_bus_bandwidth_deinit(hdd_ctx);
|