The driver already discards packets bigger than 2048 bytes, but that is already larger than the buffer we read the data into. Limit packet size to PKTSIZE instead which matches our receive buffer size.
Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de> --- drivers/net/liteeth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/liteeth.c b/drivers/net/liteeth.c index 1781e26348..0d63e1da16 100644 --- a/drivers/net/liteeth.c +++ b/drivers/net/liteeth.c @@ -223,7 +223,7 @@ static int liteeth_eth_rx(struct eth_device *edev) } len = litex_read32(priv->base + LITEETH_WRITER_LENGTH); - if (len == 0 || len > 2048) { + if (len == 0 || len > PKTSIZE) { len = 0; dev_err(priv->dev, "%s: invalid len %d\n", __func__, len); litex_write8(priv->base + LITEETH_WRITER_EV_PENDING, reg); -- 2.39.2