From db6de35f36c16937f36713d01e6dd7329077ffa7 Mon Sep 17 00:00:00 2001 From: Sandeep Puligilla Date: Fri, 30 Mar 2018 17:08:56 -0700 Subject: [PATCH] qcacld-3.0: PDR recovery is taking longer time PDR recovery is taking longer time because vdev delete is waiting for peer delete completion. Modified vdev delete handler to get the status of firmware. If firmware state is detected as down then vdev delete handler will not wait for peer delete completion. Change-Id: I1014df239a1abecaccbe5097769a10c625597e12 CRs-Fixed: 2207795 --- core/wma/src/wma_dev_if.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 7c90d67d03e2..ac0d2ead2997 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -740,9 +740,11 @@ void wma_vdev_wait_for_peer_delete_completion(tp_wma_handle wma_handle, * P2P device, and no need to take care the case which no * vdev stop response from FW. */ - if ((iface->type == WMI_VDEV_TYPE_AP) && - (iface->sub_type == WMI_UNIFIED_VDEV_SUBTYPE_P2P_DEVICE)) { - WMA_LOGD("%s: P2P devices, do not wait", __func__); + if (((iface->type == WMI_VDEV_TYPE_AP) && + (iface->sub_type == WMI_UNIFIED_VDEV_SUBTYPE_P2P_DEVICE)) || + (cds_is_fw_down())) { + WMA_LOGD("%s: type %d P2P devices or firmware is down, do not wait", + __func__, iface->type); return; }