summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArunk Khandavalli <akhandav@codeaurora.org>2017-09-12 19:43:45 +0530
committersnandini <snandini@codeaurora.org>2017-09-13 09:54:12 -0700
commit8045c223286bb55e14e5d39f2db0df155183cb64 (patch)
tree1d96cc133f99dc2c58eb5c3046ca13b846d62d2c
parent7472595c1b65662aa0476b5dc9d12c0734e65cd1 (diff)
qcacld-3.0: Unregister the netdev notifier before the modules are closed
Incase of LOUN driver the driver modules can be closed and during the netdev unregistration during the NETDEV_GOING_DOWN we are trying to acquire already freed mutex. Hence unregister the netdevice before closing the modules in case of module exit. Change-Id: Id53c04d7f15b2662f4867a6eefcfddc790d66c36 CRs-Fixed: 2105687
-rw-r--r--core/hdd/src/wlan_hdd_main.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 00ca1baded55..bdee5e5b5494 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -5834,6 +5834,8 @@ static void hdd_wlan_exit(hdd_context_t *hdd_ctx)
hdd_stop_all_adapters(hdd_ctx);
}
+ unregister_netdevice_notifier(&hdd_netdev_notifier);
+
/*
* Close the scheduler before calling cds_close to make sure
* no thread is scheduled after the each module close is
@@ -5863,9 +5865,6 @@ static void hdd_wlan_exit(hdd_context_t *hdd_ctx)
hdd_runtime_suspend_context_deinit(hdd_ctx);
hdd_close_all_adapters(hdd_ctx, false);
-
- unregister_netdevice_notifier(&hdd_netdev_notifier);
-
hdd_ipa_cleanup(hdd_ctx);
/* Free up RoC request queue and flush workqueue */