diff options
| author | Randy Chiu <wchiu@qca.qualcomm.com> | 2014-07-10 18:15:24 +0800 |
|---|---|---|
| committer | Pitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com> | 2014-07-16 12:36:07 +0530 |
| commit | 618fcd22a04271aa75803d43e40a44f2c2fac2f5 (patch) | |
| tree | efb908a92a1e77151deba4db09db3b7c3abf045f | |
| parent | 7a7fed30b4480983390979352ad8a7f7528816be (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.c | 13 |
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; |
