qcacld-3.0: Use psoc handle to check for wmi service cap
wma_mgmt_nbuf_unmap_cb uses wma handle to check if wmi service capability for mgmt is supported. If wma handle is freed before call back is invoked it returns with out doing unmap of nbuf. Instead of wma handle use psoc object handle which has the information about wmi service capability support. Change-Id: Icbdeb155be0fb5d056dd876faa2bd73f78cd9db7 CRs-Fixed: 2317785
Este commit está contenido en:

cometido por
nshrivas

padre
ffc3530786
commit
0ebf453164
@@ -4377,19 +4377,19 @@ QDF_STATUS wma_mgmt_unified_cmd_send(struct wlan_objmgr_vdev *vdev,
|
||||
void wma_mgmt_nbuf_unmap_cb(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_nbuf_t buf)
|
||||
{
|
||||
tp_wma_handle wma_handle = cds_get_context(QDF_MODULE_ID_WMA);
|
||||
|
||||
if (!wma_handle) {
|
||||
WMA_LOGE("%s: wma handle is NULL", __func__);
|
||||
return;
|
||||
}
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
qdf_device_t dev;
|
||||
|
||||
if (!buf)
|
||||
return;
|
||||
|
||||
if (wmi_service_enabled(wma_handle->wmi_handle,
|
||||
wmi_service_mgmt_tx_wmi)) {
|
||||
qdf_nbuf_unmap_single(wma_handle->qdf_dev, buf,
|
||||
QDF_DMA_TO_DEVICE);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
if (!psoc) {
|
||||
WMA_LOGE("%s: Psoc handle NULL", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
Referencia en una nueva incidencia
Block a user