net: zynq_gem: Use ulong instead of u32 data type
flush_dcache_range() expects unsigned long in the arguments. Here u32 variable is unable to hold the higher address value when ddr mapped to higher addresses & flushing lower address dchache range instead which is unmapped causing to crash. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
committed by
Michal Simek
parent
12fdbbe860
commit
b6779274f2
@@ -655,7 +655,7 @@ static int zynq_gem_probe(struct udevice *dev)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
memset(priv->rxbuffers, 0, RX_BUF * PKTSIZE_ALIGN);
|
memset(priv->rxbuffers, 0, RX_BUF * PKTSIZE_ALIGN);
|
||||||
u32 addr = (ulong)priv->rxbuffers;
|
ulong addr = (ulong)priv->rxbuffers;
|
||||||
flush_dcache_range(addr, addr + roundup(RX_BUF * PKTSIZE_ALIGN, ARCH_DMA_MINALIGN));
|
flush_dcache_range(addr, addr + roundup(RX_BUF * PKTSIZE_ALIGN, ARCH_DMA_MINALIGN));
|
||||||
barrier();
|
barrier();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user