qcacmn: Change nbuf unmap API when free rx nbuf
The DMA Map/Unmap was restricted to buffer size in rx process. But the Unmap API was not changed when free nbuf in rx desc, apply the new unmap API. Change-Id: Id10d746776aa9e41ef3425e166ba0207851358d6 CRs-Fixed: 2716690
This commit is contained in:
@@ -174,8 +174,12 @@ static QDF_STATUS __dp_rx_desc_nbuf_free(struct dp_soc *soc,
|
||||
if (!rx_desc->unmapped) {
|
||||
dp_ipa_handle_rx_buf_smmu_mapping(soc, nbuf,
|
||||
false);
|
||||
qdf_nbuf_unmap_single(soc->osdev, nbuf,
|
||||
QDF_DMA_BIDIRECTIONAL);
|
||||
qdf_nbuf_unmap_nbytes_single(
|
||||
soc->osdev,
|
||||
rx_desc->nbuf,
|
||||
QDF_DMA_BIDIRECTIONAL,
|
||||
rx_desc_pool->buf_size);
|
||||
rx_desc->unmapped = 1;
|
||||
}
|
||||
qdf_nbuf_free(nbuf);
|
||||
}
|
||||
@@ -324,9 +328,11 @@ void dp_rx_desc_nbuf_and_pool_free(struct dp_soc *soc, uint32_t pool_id,
|
||||
if (!(rx_desc_pool->array[i].rx_desc.unmapped)) {
|
||||
dp_ipa_handle_rx_buf_smmu_mapping(soc, nbuf,
|
||||
false);
|
||||
|
||||
qdf_nbuf_unmap_single(soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE);
|
||||
qdf_nbuf_unmap_nbytes_single(
|
||||
soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE,
|
||||
rx_desc_pool->buf_size);
|
||||
rx_desc_pool->array[i].rx_desc.unmapped = 1;
|
||||
}
|
||||
qdf_nbuf_free(nbuf);
|
||||
}
|
||||
@@ -351,8 +357,11 @@ void dp_rx_desc_nbuf_free(struct dp_soc *soc,
|
||||
dp_ipa_handle_rx_buf_smmu_mapping(soc, nbuf,
|
||||
false);
|
||||
|
||||
qdf_nbuf_unmap_single(soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE);
|
||||
qdf_nbuf_unmap_nbytes_single(
|
||||
soc->osdev, nbuf,
|
||||
QDF_DMA_FROM_DEVICE,
|
||||
rx_desc_pool->buf_size);
|
||||
rx_desc_pool->array[i].rx_desc.unmapped = 1;
|
||||
}
|
||||
qdf_nbuf_free(nbuf);
|
||||
}
|
||||
|
Reference in New Issue
Block a user