OSDN Git Service

net: ocelot: use dma_unmap_addr to get tx buffer dma_addr
authorClément Léger <clement.leger@bootlin.com>
Mon, 13 Dec 2021 08:26:51 +0000 (09:26 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Dec 2021 14:51:21 +0000 (14:51 +0000)
dma_addr was declared using DEFINE_DMA_UNMAP_ADDR() which requires to
use dma_unmap_addr() to access it.

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 753a026cfec1 ("net: ocelot: add FDMA support")
Signed-off-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mscc/ocelot_fdma.c

index 350a0b5..dffa597 100644 (file)
@@ -734,8 +734,8 @@ static void ocelot_fdma_free_tx_ring(struct ocelot *ocelot)
        while (idx != tx_ring->next_to_use) {
                txb = &tx_ring->bufs[idx];
                skb = txb->skb;
-               dma_unmap_single(ocelot->dev, txb->dma_addr, skb->len,
-                                DMA_TO_DEVICE);
+               dma_unmap_single(ocelot->dev, dma_unmap_addr(txb, dma_addr),
+                                skb->len, DMA_TO_DEVICE);
                dev_kfree_skb_any(skb);
                idx = ocelot_fdma_idx_next(idx, OCELOT_FDMA_TX_RING_SIZE);
        }