|
@@ -15035,10 +15035,23 @@ static void hdd_driver_unload(void)
|
|
|
struct osif_driver_sync *driver_sync;
|
|
|
struct hdd_context *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
|
|
|
QDF_STATUS status;
|
|
|
+ void *hif_ctx;
|
|
|
|
|
|
pr_info("%s: Unloading driver v%s\n", WLAN_MODULE_NAME,
|
|
|
QWLAN_VERSIONSTR);
|
|
|
|
|
|
+ hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
|
|
|
+ if (!hif_ctx) {
|
|
|
+ hdd_err_rl("hif context is Null");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Trigger runtime sync resume before setting unload in progress
|
|
|
+ * such that resume can happen successfully
|
|
|
+ */
|
|
|
+ hif_pm_runtime_sync_resume(hif_ctx);
|
|
|
+
|
|
|
cds_set_driver_loaded(false);
|
|
|
cds_set_unload_in_progress(true);
|
|
|
|