On Mon, 2023-12-04 at 10:20 +0900, Yoshihiro Shimoda wrote: > @@ -1647,25 +1676,32 @@ static netdev_tx_t rswitch_start_xmit(struct sk_buff *skb, struct net_device *nd > if (skb_put_padto(skb, ETH_ZLEN)) > return ret; > > - dma_addr = dma_map_single(ndev->dev.parent, skb->data, skb->len, DMA_TO_DEVICE); > - if (dma_mapping_error(ndev->dev.parent, dma_addr)) > + dma_addr_orig = dma_map_single(ndev->dev.parent, skb->data, skb->len, DMA_TO_DEVICE); > + if (dma_mapping_error(ndev->dev.parent, dma_addr_orig)) > goto err_kfree; > > gq->skbs[gq->cur] = skb; > gq->unmap_addrs[gq->cur] = dma_addr; Here 'dma_addr' is still used uninitialized. I guess you should use 'dma_addr_orig' even here. Cheers, Paolo