Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
563c987d44
1 değiştirilmiş dosya ile 3 ekleme ve 2 silme
  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;