check_cache_range() warns that the top boundaries are not properly
aligned when flushing or invalidating the buffers and make these
operations fail.

This gets rid of the warnings:
CACHE: Misaligned operation at range ...

Signed-off-by: Stefan Roese <s...@denx.de>
Cc: Joe Hershberger <joe.hershber...@ni.com>
---
 drivers/net/mvneta.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index fa20f54..c23fe9a 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -1506,7 +1506,8 @@ static int mvneta_send(struct udevice *dev, void *packet, 
int length)
 
        tx_desc->buf_phys_addr = (u32)packet;
        tx_desc->data_size = length;
-       flush_dcache_range((u32)packet, (u32)packet + length);
+       flush_dcache_range((u32)packet,
+                          (u32)packet + ALIGN(length, PKTALIGN));
 
        /* First and Last descriptor */
        tx_desc->command = MVNETA_TX_L4_CSUM_NOT | MVNETA_TXD_FLZ_DESC;
-- 
2.9.3

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to