|
@@ -1233,8 +1233,11 @@ void ce_t2h_msg_ce_cleanup(struct CE_handle *ce_hdl)
|
|
|
* covered that case. This is not in performance path,
|
|
|
* so OK to do this.
|
|
|
*/
|
|
|
- if (nbuf)
|
|
|
+ if (nbuf) {
|
|
|
+ qdf_nbuf_unmap_single(ce_state->scn->qdf_dev, nbuf,
|
|
|
+ QDF_DMA_FROM_DEVICE);
|
|
|
qdf_nbuf_free(nbuf);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1519,9 +1522,13 @@ hif_pci_ce_send_done(struct CE_handle *copyeng, void *ce_context,
|
|
|
* when last fragment is complteted.
|
|
|
*/
|
|
|
if (transfer_context != CE_SENDLIST_ITEM_CTXT) {
|
|
|
- if (scn->target_status == TARGET_STATUS_RESET)
|
|
|
+ if (scn->target_status == TARGET_STATUS_RESET) {
|
|
|
+
|
|
|
+ qdf_nbuf_unmap_single(scn->qdf_dev,
|
|
|
+ transfer_context,
|
|
|
+ QDF_DMA_TO_DEVICE);
|
|
|
qdf_nbuf_free(transfer_context);
|
|
|
- else
|
|
|
+ } else
|
|
|
msg_callbacks->txCompletionHandler(
|
|
|
msg_callbacks->Context,
|
|
|
transfer_context, transfer_id,
|
|
@@ -1561,6 +1568,7 @@ static inline void hif_ce_do_recv(struct hif_msg_callbacks *msg_callbacks,
|
|
|
} else {
|
|
|
HIF_ERROR("%s: Invalid Rx msg buf:%p nbytes:%d",
|
|
|
__func__, netbuf, nbytes);
|
|
|
+
|
|
|
qdf_nbuf_free(netbuf);
|
|
|
}
|
|
|
}
|