
The LL TEMAC h/w changed at some point quite some time ago such that the length field in the BD is used for other stuff also such that the length needs to be masked correctly. This change is backward compatible with older h/w also.
This change was tested on the 12.2 EDK system on the SP605 board.
Signed-off-by: John Linn john.linn@xilinx.com --- drivers/net/xilinx_ll_temac.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/xilinx_ll_temac.c b/drivers/net/xilinx_ll_temac.c index d73e22e..c31b943 100644 --- a/drivers/net/xilinx_ll_temac.c +++ b/drivers/net/xilinx_ll_temac.c @@ -344,7 +344,7 @@ static int xps_ll_temac_recv_sdma(struct eth_device *dev) return 0; }
- length = rx_bd.app5; + length = rx_bd.app5 & 0x3FFF; flush_cache ((u32)rx_bd.phys_buf_p, length);
rx_bd.buf_len = ETHER_MTU;