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: 2a1e1ad3fd37 ("ath10k: Add support for 64 bit ce descriptor")
Cc: <[email protected]>
Signed-off-by: Thomas Fourier <[email protected]>
---
 drivers/net/wireless/ath/ath10k/ce.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/ce.c 
b/drivers/net/wireless/ath/ath10k/ce.c
index 7bbda46cfd93..82f120ee1c66 100644
--- a/drivers/net/wireless/ath/ath10k/ce.c
+++ b/drivers/net/wireless/ath/ath10k/ce.c
@@ -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);
        }
 
-- 
2.43.0


Reply via email to