mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
819067916d
commit
a79abdc6ee
|
@ -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 @@ static struct sk_buff *sky2_receive(struct net_device *dev,
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue