
cpsw tries to flush dcache which is not in the range of PKTSIZE. Because of this the following warning comes while flushing:
CACHE: Misaligned operation at range [dffecec0, dffed016]
Fix it by flushing cache of size PKTSIZE_ALIGN as similar to what is being done in _cpsw_recv.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- Changes since v1: - Use PKTALIGN instead of cache line size - Need not align start of packet buffer from the network subsystem.
drivers/net/cpsw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c index 2ce4ec6..8ce5716 100644 --- a/drivers/net/cpsw.c +++ b/drivers/net/cpsw.c @@ -907,7 +907,7 @@ static int _cpsw_send(struct cpsw_priv *priv, void *packet, int length) int timeout = CPDMA_TIMEOUT;
flush_dcache_range((unsigned long)packet, - (unsigned long)packet + length); + (unsigned long)packet + PKTSIZE_ALIGN);
/* first reap completed packets */ while (timeout-- &&