qcacld-3.0: Drain mgmt tx completion only during SSR

To send the vdev delete to firmware, all the references needs to
be released, so on receiving the iff_down from the userspace,driver
is currently draining the peer management frames which are queued
to the firmware, if the firmware is active it can access these
drained frames resulting in system instability.

Drain the management frames only when the driver is recovering.

Change-Id: Ia7a83088cde857c7111f8dff9e18422257fc8cb8
CRs-Fixed: 2778328
This commit is contained in:
Arun Kumar Khandavalli
2020-09-21 12:38:07 +05:30
committed by snandini
父節點 01c90a667c
當前提交 563c987d44

查看文件

@@ -494,8 +494,9 @@ static QDF_STATUS wma_handle_vdev_detach(tp_wma_handle wma_handle,
rel_ref:
wma_cdp_vdev_detach(soc, wma_handle, vdev_id);
wlan_mgmt_txrx_vdev_drain(iface->vdev,
wma_mgmt_frame_fill_peer_cb, &i);
if (qdf_is_recovering())
wlan_mgmt_txrx_vdev_drain(iface->vdev,
wma_mgmt_frame_fill_peer_cb, &i);
wma_debug("Releasing wma reference for vdev:%d", vdev_id);
wma_release_vdev_ref(iface);
return status;