Assign packet pointer only in case the MAC reports anything in the FIFO. In case the MAC indicates empty FIFO, return 0 to pass that information to the network stack.
Signed-off-by: Marek Vasut <ma...@denx.de> Cc: Joe Hershberger <joe.hershber...@ni.com> Cc: Ramon Fried <rfried....@gmail.com> --- drivers/net/dm9000x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c index 78ce536d4a3..07733df533e 100644 --- a/drivers/net/dm9000x.c +++ b/drivers/net/dm9000x.c @@ -666,10 +666,10 @@ static int dm9000_recv(struct udevice *dev, int flags, uchar **packetp) int ret; ret = dm9000_recv_common(db, data); - if (ret) + if (ret > 0) *packetp = (void *)data; - return ret ? ret : -EAGAIN; + return ret >= 0 ? ret : -EAGAIN; } static int dm9000_write_hwaddr(struct udevice *dev) -- 2.35.1