|
@@ -3111,7 +3111,7 @@ static QDF_STATUS send_mgmt_cmd_tlv(wmi_unified_t wmi_handle,
|
|
|
QDF_DMA_TO_DEVICE);
|
|
|
if (status != QDF_STATUS_SUCCESS) {
|
|
|
WMI_LOGE("%s: wmi buf map failed", __func__);
|
|
|
- goto err1;
|
|
|
+ goto free_buf;
|
|
|
}
|
|
|
|
|
|
dma_addr = qdf_nbuf_get_frag_paddr(param->tx_frame, 0);
|
|
@@ -3132,7 +3132,7 @@ static QDF_STATUS send_mgmt_cmd_tlv(wmi_unified_t wmi_handle,
|
|
|
if (status != QDF_STATUS_SUCCESS) {
|
|
|
WMI_LOGE("%s: Populate TX send params failed",
|
|
|
__func__);
|
|
|
- goto err1;
|
|
|
+ goto unmap_tx_frame;
|
|
|
}
|
|
|
cmd_len += sizeof(wmi_tx_send_params);
|
|
|
}
|
|
@@ -3140,11 +3140,14 @@ static QDF_STATUS send_mgmt_cmd_tlv(wmi_unified_t wmi_handle,
|
|
|
if (wmi_unified_cmd_send(wmi_handle, buf, cmd_len,
|
|
|
WMI_MGMT_TX_SEND_CMDID)) {
|
|
|
WMI_LOGE("%s: Failed to send mgmt Tx", __func__);
|
|
|
- goto err1;
|
|
|
+ goto unmap_tx_frame;
|
|
|
}
|
|
|
return QDF_STATUS_SUCCESS;
|
|
|
|
|
|
-err1:
|
|
|
+unmap_tx_frame:
|
|
|
+ qdf_nbuf_unmap_single(qdf_ctx, param->tx_frame,
|
|
|
+ QDF_DMA_TO_DEVICE);
|
|
|
+free_buf:
|
|
|
wmi_buf_free(buf);
|
|
|
return QDF_STATUS_E_FAILURE;
|
|
|
}
|