mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 03:27:03 +02:00
wifi: ath10k: fix dma_free_coherent() pointer
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: 2a1e1ad3fd ("ath10k: Add support for 64 bit ce descriptor")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Link: https://patch.msgid.link/20260105210439.20131-2-fourier.thomas@gmail.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
parent
a203dbeeca
commit
9282a1e171
|
|
@ -1727,8 +1727,8 @@ static void _ath10k_ce_free_pipe(struct ath10k *ar, int ce_id)
|
|||
(ce_state->src_ring->nentries *
|
||||
sizeof(struct ce_desc) +
|
||||
CE_DESC_RING_ALIGN),
|
||||
ce_state->src_ring->base_addr_owner_space,
|
||||
ce_state->src_ring->base_addr_ce_space);
|
||||
ce_state->src_ring->base_addr_owner_space_unaligned,
|
||||
ce_state->src_ring->base_addr_ce_space_unaligned);
|
||||
kfree(ce_state->src_ring);
|
||||
}
|
||||
|
||||
|
|
@ -1737,8 +1737,8 @@ static void _ath10k_ce_free_pipe(struct ath10k *ar, int ce_id)
|
|||
(ce_state->dest_ring->nentries *
|
||||
sizeof(struct ce_desc) +
|
||||
CE_DESC_RING_ALIGN),
|
||||
ce_state->dest_ring->base_addr_owner_space,
|
||||
ce_state->dest_ring->base_addr_ce_space);
|
||||
ce_state->dest_ring->base_addr_owner_space_unaligned,
|
||||
ce_state->dest_ring->base_addr_ce_space_unaligned);
|
||||
kfree(ce_state->dest_ring);
|
||||
}
|
||||
|
||||
|
|
@ -1758,8 +1758,8 @@ static void _ath10k_ce_free_pipe_64(struct ath10k *ar, int ce_id)
|
|||
(ce_state->src_ring->nentries *
|
||||
sizeof(struct ce_desc_64) +
|
||||
CE_DESC_RING_ALIGN),
|
||||
ce_state->src_ring->base_addr_owner_space,
|
||||
ce_state->src_ring->base_addr_ce_space);
|
||||
ce_state->src_ring->base_addr_owner_space_unaligned,
|
||||
ce_state->src_ring->base_addr_ce_space_unaligned);
|
||||
kfree(ce_state->src_ring);
|
||||
}
|
||||
|
||||
|
|
@ -1768,8 +1768,8 @@ static void _ath10k_ce_free_pipe_64(struct ath10k *ar, int ce_id)
|
|||
(ce_state->dest_ring->nentries *
|
||||
sizeof(struct ce_desc_64) +
|
||||
CE_DESC_RING_ALIGN),
|
||||
ce_state->dest_ring->base_addr_owner_space,
|
||||
ce_state->dest_ring->base_addr_ce_space);
|
||||
ce_state->dest_ring->base_addr_owner_space_unaligned,
|
||||
ce_state->dest_ring->base_addr_ce_space_unaligned);
|
||||
kfree(ce_state->dest_ring);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user