diff options
| author | Kai Liu <kaliu@codeaurora.org> | 2016-09-22 14:51:12 +0800 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-09-27 15:25:55 +0530 |
| commit | a1200b90eb31ac882ce908d94cc9410a425531d2 (patch) | |
| tree | f2b1b797a1e9909bc30227716516c24db4d9ba6f | |
| parent | 90213394b7efb28fa511b2eaebc1343ae3b54724 (diff) | |
qcacld-2.0: Reduce hif usb remove time when card surprise-removed
In USB solution, hif_usb_remove costs ~25s after card unplugged.
Test step is simple, do p2p listen, then unplug card.
The cost mainly focus on two parts
1. Sme session close costs 15s. When do p2p listen, scan will be issued
to fw, but this cmd is stuck in smeScanCmdActiveList which cause
session close cmd eSmeCommandDelStaSession blocked and the timeout
is 15s.
2. wma_suspend_target in wma_stop costs 6s. Actually suspend is
no need in such case.
This change is to fix issue 2 that in such situation suspend
is no need, so skip suspend.
Change-Id: I1ba4c4559c8736ddaa848228bcec118e6308e8d9
CRs-Fixed: 1068739
| -rw-r--r-- | CORE/SERVICES/HIF/USB/if_usb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/CORE/SERVICES/HIF/USB/if_usb.c b/CORE/SERVICES/HIF/USB/if_usb.c index ea8a7fe6ef88..b934ac2c2567 100644 --- a/CORE/SERVICES/HIF/USB/if_usb.c +++ b/CORE/SERVICES/HIF/USB/if_usb.c @@ -271,6 +271,7 @@ static void hif_usb_remove(struct usb_interface *interface) usb_sc->hdd_removed_wait_cnt ++; } atomic_set(&usb_sc->hdd_removed_processing, 1); + vos_set_shutdown_in_progress(VOS_MODULE_ID_HIF, TRUE); /* disable lpm to avoid following cold reset will *cause xHCI U1/U2 timeout @@ -315,6 +316,7 @@ static void hif_usb_remove(struct usb_interface *interface) hif_nointrs(sc); HIF_USBDeviceDetached(interface, 1); + vos_set_shutdown_in_progress(VOS_MODULE_ID_HIF, FALSE); atomic_set(&usb_sc->hdd_removed_processing, 0); hif_deinit_adf_ctx(scn); A_FREE(scn); |
