Commit 4ace7a6e authored by Dan Carpenter's avatar Dan Carpenter Committed by Jakub Kicinski

net: ipa: pass correct dma_handle to dma_free_coherent()

The "ring->addr = addr;" assignment is done a few lines later so we
can't use "ring->addr" yet.  The correct dma_handle is "addr".

Fixes: 650d1603 ("soc: qcom: ipa: the generic software interface")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/YBjpTU2oejkNIULT@mwandaSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent cc9f07a8
...@@ -1373,7 +1373,7 @@ static int gsi_ring_alloc(struct gsi *gsi, struct gsi_ring *ring, u32 count) ...@@ -1373,7 +1373,7 @@ static int gsi_ring_alloc(struct gsi *gsi, struct gsi_ring *ring, u32 count)
/* Hardware requires a 2^n ring size, with alignment equal to size */ /* Hardware requires a 2^n ring size, with alignment equal to size */
ring->virt = dma_alloc_coherent(dev, size, &addr, GFP_KERNEL); ring->virt = dma_alloc_coherent(dev, size, &addr, GFP_KERNEL);
if (ring->virt && addr % size) { if (ring->virt && addr % size) {
dma_free_coherent(dev, size, ring->virt, ring->addr); dma_free_coherent(dev, size, ring->virt, addr);
dev_err(dev, "unable to alloc 0x%zx-aligned ring buffer\n", dev_err(dev, "unable to alloc 0x%zx-aligned ring buffer\n",
size); size);
return -EINVAL; /* Not a good error value, but distinct */ return -EINVAL; /* Not a good error value, but distinct */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment