aboutsummaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2022-04-25 20:28:05 +0200
committerTom Rini <trini@konsulko.com>2022-08-08 10:50:20 -0400
commitecd8b0371386eb0b1826f5d067a3086ad5184a85 (patch)
treef7a91213acb26a7aa65cf99141ec84f596e1f4f3 /drivers/net
parent01207947d54e4d8a356a19658640213be4939f62 (diff)
downloadu-boot-ecd8b0371386eb0b1826f5d067a3086ad5184a85.zip
u-boot-ecd8b0371386eb0b1826f5d067a3086ad5184a85.tar.gz
u-boot-ecd8b0371386eb0b1826f5d067a3086ad5184a85.tar.bz2
net: dm9000: Correctly handle empty FIFO
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 <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/dm9000x.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
index 78ce536..07733df 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)