summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUri Mashiach <uri.mashiach@compulab.co.il>2017-05-21 14:00:52 (GMT)
committerMarek Vasut <marex@denx.de>2017-05-21 14:44:04 (GMT)
commit3ce3026a0967350812b8cf246709b65384d2a336 (patch)
tree24a60f9e65467506d616fb22f2f5effe05e388f4
parenta375ff8e14bea0a5cbfff99d6456aa8d9a3320ab (diff)
downloadu-boot-3ce3026a0967350812b8cf246709b65384d2a336.tar.xz
net: usb: mcs7830: fix non-DM ingress path
The mcs7830_recv() (non-DM) function discards good packets and tries to process "bad" packets due to incorrect test condition. Fix the condition and return the proper value as described in function doc. Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
-rw-r--r--drivers/usb/eth/mcs7830.c6
1 files 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;
}
/*