diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-02-15 16:40:34 -0800 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-17 15:30:47 -0500 |
commit | a79abdc6eeca745b2af04fc03f9a04da0d294094 (patch) | |
tree | b3615973c6f8e39c8e8b669c8baac24c973d8541 /drivers | |
parent | 819067916d785cac0369b8d6e187b4a83fd17785 (diff) | |
download | lwn-a79abdc6eeca745b2af04fc03f9a04da0d294094.tar.gz lwn-a79abdc6eeca745b2af04fc03f9a04da0d294094.zip |
sky2: receive error handling improvements
Don't drop oversize frame it might be a VLAN (untagged).
Use different counter for fifo overrun vs fifo error.
Print error on fifo overrrun.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/sky2.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index fafa4021bb8a..c058117d2a63 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -2056,9 +2056,6 @@ static struct sk_buff *sky2_receive(struct net_device *dev, if (!(status & GMR_FS_RX_OK)) goto resubmit; - if (length > dev->mtu + ETH_HLEN) - goto oversize; - if (length < copybreak) skb = receive_copy(sky2, re, length); else @@ -2068,14 +2065,10 @@ resubmit: return skb; -oversize: - ++sky2->net_stats.rx_over_errors; - goto resubmit; - error: ++sky2->net_stats.rx_errors; if (status & GMR_FS_RX_FF_OV) { - sky2->net_stats.rx_fifo_errors++; + sky2->net_stats.rx_over_errors++; goto resubmit; } |