From: Baruch Siach Date: Wed, 18 Jun 2025 16:04:35 +0000 (+0300) Subject: net: designware: fix bus address dereference X-Git-Tag: v2025.07-rc5~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d169ac9733b5c3f208921a1d82f4fa8ff708258;p=pandora-u-boot.git net: designware: fix bus address dereference Device bus address might not be valid for direct access when the bus address and CPU address are not the same. Use dev_bus_to_phys() to translate bus address back to CPU address. Fixes: 3d98b8c504e15 ("net: designware: Invalidate RX buffer cache before freeing the DMA descriptor") Signed-off-by: Baruch Siach Reviewed-by: Ramon Fried --- diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 0f93c25e3fe..fce3ef910cb 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -716,7 +716,7 @@ static int _dw_free_pkt(struct dw_eth_dev *priv) ulong desc_start = (ulong)desc_p; ulong desc_end = desc_start + roundup(sizeof(*desc_p), ARCH_DMA_MINALIGN); - ulong data_start = desc_p->dmamac_addr; + ulong data_start = dev_bus_to_phys(priv->dev, desc_p->dmamac_addr); ulong data_end = data_start + roundup(CFG_ETH_BUFSIZE, ARCH_DMA_MINALIGN); /* Invalidate the descriptor buffer data */