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@xxxxxxxxx> Fixes: 753a026cfec1 ("net: ocelot: add FDMA support") Signed-off-by: Clément Léger <clement.leger@xxxxxxxxxxx> --- drivers/net/ethernet/mscc/ocelot_fdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mscc/ocelot_fdma.c b/drivers/net/ethernet/mscc/ocelot_fdma.c index 350a0b52f021..dffa597bffe6 100644 --- a/drivers/net/ethernet/mscc/ocelot_fdma.c +++ b/drivers/net/ethernet/mscc/ocelot_fdma.c @@ -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); } -- 2.34.1