Explorar o código

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
Sandeep Puligilla %!s(int64=7) %!d(string=hai) anos
pai
achega
db6de35f36
Modificáronse 1 ficheiros con 5 adicións e 3 borrados
  1. 5 3
      core/wma/src/wma_dev_if.c

+ 5 - 3
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;
 	}