mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
qcacld-3.0: Mgmt frame buffer free before dma unmap on Rome
Rome doesn't support service WMI_SERVICE_MGMT_TX_WMI, mgmt frames and their tx complete are sent by HTT instead of WMI. WLAN_SOC_CEXT_WMI_MGMT_REF cap isn't set too. When delete vdev, need drain all mgmt packets of the vdev, if there are mgmt frames waiting tx complete, need complete them and free nbuf forcely, but dma unmap is missed on Rome for WLAN_SOC_CEXT_WMI_MGMT_REF not set, assert will happen when free nbuf. Fix: Don't check WLAN_SOC_CEXT_WMI_MGMT_REF when drain mgmt frames, then dma unmap will happen before nbuf free on Rome. Change-Id: I27c46c71cbc35df371d9852860da0cb9f08c826f CRs-Fixed: 2650229
This commit is contained in:
parent
746fbcaa9e
commit
7a78877964
1 changed files with 1 additions and 2 deletions
|
|
@ -4031,8 +4031,7 @@ void wma_mgmt_nbuf_unmap_cb(struct wlan_objmgr_pdev *pdev,
|
|||
}
|
||||
|
||||
dev = wlan_psoc_get_qdf_dev(psoc);
|
||||
if (wlan_psoc_nif_fw_ext_cap_get(psoc, WLAN_SOC_CEXT_WMI_MGMT_REF))
|
||||
qdf_nbuf_unmap_single(dev, buf, QDF_DMA_TO_DEVICE);
|
||||
qdf_nbuf_unmap_single(dev, buf, QDF_DMA_TO_DEVICE);
|
||||
}
|
||||
|
||||
QDF_STATUS wma_mgmt_frame_fill_peer_cb(struct wlan_objmgr_peer *peer,
|
||||
|
|
|
|||
Loading…
Reference in a new issue