wlan: Address excessive logging issue during driver unload.
During driver unload, rmmod thread is stuck in hdd_wlan_exit
function since unregister_inet6_notfier being a blocking call
prevents driver unload with isLoadUnloadInProgress flag set
without stopping the tx queues. As a result excessive logs
in TxThread context causes watchdog bark.
To mitigate this issue, stop the queues before unregistering
the ipv4/ipv6 notifier.
Change-Id: Iadc2a0eb6ff7eb001f1e01bb32a04372a0af430c
CRs-Fixed: 828843
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index dd31968..d8be59d 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -8226,12 +8226,6 @@
ENTER();
-#ifdef WLAN_NS_OFFLOAD
- hddLog(LOGE, FL("Unregister IPv6 notifier"));
- unregister_inet6addr_notifier(&pHddCtx->ipv6_notifier);
-#endif
- hddLog(LOGE, FL("Unregister IPv4 notifier"));
- unregister_inetaddr_notifier(&pHddCtx->ipv4_notifier);
if (VOS_FTM_MODE != hdd_get_conparam())
{
@@ -8421,6 +8415,13 @@
hdd_debugfs_exit(pHddCtx);
+#ifdef WLAN_NS_OFFLOAD
+ hddLog(LOGE, FL("Unregister IPv6 notifier"));
+ unregister_inet6addr_notifier(&pHddCtx->ipv6_notifier);
+#endif
+ hddLog(LOGE, FL("Unregister IPv4 notifier"));
+ unregister_inetaddr_notifier(&pHddCtx->ipv4_notifier);
+
// Unregister the Net Device Notifier
unregister_netdevice_notifier(&hdd_netdev_notifier);