浏览代码

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
Arun Kumar Khandavalli 4 年之前
父节点
当前提交
563c987d44
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      core/wma/src/wma_dev_if.c

+ 3 - 2
core/wma/src/wma_dev_if.c

@@ -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;