qcacld-3.0: Fix delayed work leak in hdd_context_create

Delayed work leak is observed when hdd_wlan_startup failed in
__hdd_soc_probe. It will call hdd_context_destroy for cleanup, but
the delayed work created in hdd_context_create is destroyed in
hdd_wlan_exit.

To fix this leak, move this from hdd_wlan_exit to hdd_context_destroy

Change-Id: I237de3695e8915dee9ba085c5d3679a3b438d323
CRs-Fixed: 2432748
This commit is contained in:
Min Liu
2019-04-09 17:49:21 +08:00
committed by nshrivas
parent a1f29a9bfe
commit 4710404f78

View File

@@ -7332,6 +7332,7 @@ void hdd_context_destroy(struct hdd_context *hdd_ctx)
hdd_ctx->config = NULL; hdd_ctx->config = NULL;
cfg_release(); cfg_release();
qdf_delayed_work_destroy(&hdd_ctx->psoc_idle_timeout_work);
wiphy_free(hdd_ctx->wiphy); wiphy_free(hdd_ctx->wiphy);
} }
@@ -7466,7 +7467,6 @@ void hdd_wlan_exit(struct hdd_context *hdd_ctx)
} }
hdd_exit_netlink_services(hdd_ctx); hdd_exit_netlink_services(hdd_ctx);
qdf_delayed_work_destroy(&hdd_ctx->psoc_idle_timeout_work);
#ifdef FEATURE_WLAN_CH_AVOID #ifdef FEATURE_WLAN_CH_AVOID
mutex_destroy(&hdd_ctx->avoid_freq_lock); mutex_destroy(&hdd_ctx->avoid_freq_lock);
#endif #endif