[PATCH net] wifi: ath12k: fix dma_free_coherent() pointer
Baochen Qiang
baochen.qiang at oss.qualcomm.com
Tue Jan 6 02:01:18 PST 2026
On 1/6/2026 4:49 PM, Thomas Fourier wrote:
> dma_alloc_coherent() allocates a DMA mapped buffer and stores the
> addresses in XXX_unaligned fields. Those should be reused when freeing
> the buffer rather than the aligned addresses.
>
> Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
> Cc: <stable at vger.kernel.org>
> Signed-off-by: Thomas Fourier <fourier.thomas at gmail.com>
> ---
> drivers/net/wireless/ath/ath12k/ce.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath12k/ce.c b/drivers/net/wireless/ath/ath12k/ce.c
> index 9a63608838ac..4aea58446838 100644
> --- a/drivers/net/wireless/ath/ath12k/ce.c
> +++ b/drivers/net/wireless/ath/ath12k/ce.c
> @@ -984,8 +984,8 @@ void ath12k_ce_free_pipes(struct ath12k_base *ab)
> dma_free_coherent(ab->dev,
> pipe->src_ring->nentries * desc_sz +
> CE_DESC_RING_ALIGN,
> - pipe->src_ring->base_addr_owner_space,
> - pipe->src_ring->base_addr_ce_space);
> + pipe->src_ring->base_addr_owner_space_unaligned,
> + pipe->src_ring->base_addr_ce_space_unaligned);
> kfree(pipe->src_ring);
> pipe->src_ring = NULL;
> }
> @@ -995,8 +995,8 @@ void ath12k_ce_free_pipes(struct ath12k_base *ab)
> dma_free_coherent(ab->dev,
> pipe->dest_ring->nentries * desc_sz +
> CE_DESC_RING_ALIGN,
> - pipe->dest_ring->base_addr_owner_space,
> - pipe->dest_ring->base_addr_ce_space);
> + pipe->dest_ring->base_addr_owner_space_unaligned,
> + pipe->dest_ring->base_addr_ce_space_unaligned);
> kfree(pipe->dest_ring);
> pipe->dest_ring = NULL;
> }
> @@ -1007,8 +1007,8 @@ void ath12k_ce_free_pipes(struct ath12k_base *ab)
> dma_free_coherent(ab->dev,
> pipe->status_ring->nentries * desc_sz +
> CE_DESC_RING_ALIGN,
> - pipe->status_ring->base_addr_owner_space,
> - pipe->status_ring->base_addr_ce_space);
> + pipe->status_ring->base_addr_owner_space_unaligned,
> + pipe->status_ring->base_addr_ce_space_unaligned);
> kfree(pipe->status_ring);
> pipe->status_ring = NULL;
> }
Reviewed-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>
More information about the ath12k
mailing list