summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandy Chiu <wchiu@qca.qualcomm.com>2014-07-10 18:15:24 +0800
committerPitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com>2014-07-16 12:36:07 +0530
commit618fcd22a04271aa75803d43e40a44f2c2fac2f5 (patch)
treeefb908a92a1e77151deba4db09db3b7c3abf045f
parent7a7fed30b4480983390979352ad8a7f7528816be (diff)
qcacld: HIF: Rmmod DUT happen host crash.
pktlogmod_exit was called after __hdd_wlan_exit and cause system crash. Modify the remove procedure to fix this problem. Change-Id: I521590df82d2f50a408534c23521478c06e53c8c CRs-Fixed: 691667
-rw-r--r--CORE/SERVICES/HIF/USB/if_usb.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/CORE/SERVICES/HIF/USB/if_usb.c b/CORE/SERVICES/HIF/USB/if_usb.c
index 9f13721efa3b..081b29cd6e0f 100644
--- a/CORE/SERVICES/HIF/USB/if_usb.c
+++ b/CORE/SERVICES/HIF/USB/if_usb.c
@@ -254,12 +254,13 @@ static void hif_usb_remove(struct usb_interface *interface)
usb_put_dev(interface_to_usbdev(interface));
scn = sc->ol_sc;
-#ifndef REMOVE_PKT_LOG
- if (vos_get_conparam() != VOS_FTM_MODE)
- pktlogmod_exit(scn);
-#endif
+
if (usb_sc->hdd_removed == 0) {
usb_sc->hdd_removed_processing = 1;
+#ifndef REMOVE_PKT_LOG
+ if (vos_get_conparam() != VOS_FTM_MODE)
+ pktlogmod_exit(scn);
+#endif
__hdd_wlan_exit();
usb_sc->hdd_removed_processing = 0;
usb_sc->hdd_removed = 1;
@@ -436,6 +437,10 @@ void hif_unregister_driver(void)
if (usb_sc->hdd_removed == 0) {
usb_sc->hdd_removed_processing = 1;
+#ifndef REMOVE_PKT_LOG
+ if (vos_get_conparam() != VOS_FTM_MODE)
+ pktlogmod_exit(usb_sc->ol_sc);
+#endif
__hdd_wlan_exit();
usb_sc->hdd_removed_processing = 0;
usb_sc->hdd_removed = 1;