mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
qcacld-3.0: Do not wait for peer deletion for SSR
When SSR is in progress, WMI commands for peer and vdev deletion will not be sent to FW. Do not wait for peer deletion for it will always lead to timeout since peer delete command will not be sent. And the check is not needed since vdev delete command will not be sent, either. Change-Id: Ib6f921a7c7ff09bf30ed19b443a30542db2b51a3 CRs-Fixed: 2217366
This commit is contained in:
parent
ee86984027
commit
46ef0bf334
1 changed files with 14 additions and 2 deletions
|
|
@ -710,6 +710,9 @@ static void wma_force_vdev_cleanup(tp_wma_handle wma_handle, uint8_t vdev_id)
|
|||
wma_peer_remove_for_vdev_callback,
|
||||
wma_handle);
|
||||
|
||||
qdf_atomic_init(&iface->fw_peer_count);
|
||||
qdf_event_destroy(&iface->fw_peer_delete_completion);
|
||||
|
||||
VDEV_DETACH:
|
||||
wma_cdp_vdev_detach(soc, wma_handle, vdev_id);
|
||||
}
|
||||
|
|
@ -729,8 +732,17 @@ void wma_vdev_wait_for_peer_delete_completion(tp_wma_handle wma_handle,
|
|||
{
|
||||
struct wma_txrx_node *iface = &wma_handle->interfaces[vdev_id];
|
||||
|
||||
if (!iface) {
|
||||
WMA_LOGE("%s: iface of vdev-%d is NULL", __func__, vdev_id);
|
||||
/* Do NOT wait when SSR is in progress
|
||||
* since all WMI commands will be ignored and not sent to FW
|
||||
*/
|
||||
if (cds_is_driver_recovering()) {
|
||||
WMA_LOGD("%s: SSR is in progress", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!iface || !iface->vdev_active) {
|
||||
WMA_LOGE("%s: iface of vdev-%d is not available",
|
||||
__func__, vdev_id);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue