qcacld-3.0: Not wait for all peer delete completion for P2P device

For P2P Device, firstly it will delete the last peer in wma vdev
detach, so not wait before deliver WMA_DEL_STA_SELF_REQ. Secondly,
no throughput case run on P2P device, and no need to take care the
case which no vdev stop response from FW and then deliver
WMI_VDEV_DELETE before WMI_PEER_DELETE.

Change-Id: I36358cbc6045db2dd77b354a37817991f261d856
CRs-Fixed: 2204327
This commit is contained in:
Wu Gao 2018-03-23 15:16:51 +08:00 • committed by nshrivas
commit 6fff99355c

View file

@ -718,7 +718,7 @@ VDEV_DETACH:
/**
* wma_vdev_wait_for_peer_delete_completion(): wait for all peers of the vdev
* to be deleted.
* to be deleted except vdev type is P2P device.
* @wma_handle: wma handle
* @vdev_id: vdev id
*
@ -734,6 +734,18 @@ void wma_vdev_wait_for_peer_delete_completion(tp_wma_handle wma_handle,
return;
}
/* For P2P Device, firstly it will delete the last peer in
* wma vdev detach, so not wait before deliver
* WMA_DEL_STA_SELF_REQ. Secondly, no throughput case run on
* 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__);
return;
}
qdf_wait_for_event_completion(&iface->fw_peer_delete_completion,
WMA_WAIT_PEER_DELETE_COMPLETION_TIMEOUT);
}