The function mcs7830_recv_common() returns a negative value on error, 0 or positive value on success. Fix the condition for calling the function net_process_received_packet().
The function mcs7830_recv() is always returning 0. Update the return value of mcs7830_recv() to reflect the function's success status. Signed-off-by: Uri Mashiach <uri.mashi...@compulab.co.il> --- v1 -> v3: update the commit message. drivers/usb/eth/mcs7830.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/usb/eth/mcs7830.c b/drivers/usb/eth/mcs7830.c index 9d6cf8c..4abef5d 100644 --- a/drivers/usb/eth/mcs7830.c +++ b/drivers/usb/eth/mcs7830.c @@ -622,10 +622,12 @@ static int mcs7830_recv(struct eth_device *eth) int len; len = mcs7830_recv_common(ueth, buf); - if (len <= 0) + if (len >= 0) { net_process_received_packet(buf, len); + return 0; + } - return 0; + return len; } /* -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot