Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a79abdc6 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by Jeff Garzik
Browse files

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: default avatarStephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 81906791
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -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;
	}