atheros: ignore reports about oversized ethernet frames, as can be caused by the header mode of marvell 88e6060 switches (see https://dev.openwrt.org/ticket/3507#comment:16)
SVN-Revision: 15185
This commit is contained in:
		@@ -25,7 +25,7 @@
 | 
			
		||||
 obj-$(CONFIG_DECLANCE) += declance.o
 | 
			
		||||
--- /dev/null
 | 
			
		||||
+++ b/drivers/net/ar231x.c
 | 
			
		||||
@@ -0,0 +1,1265 @@
 | 
			
		||||
@@ -0,0 +1,1264 @@
 | 
			
		||||
+/*
 | 
			
		||||
+ * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 | 
			
		||||
+ *
 | 
			
		||||
@@ -833,8 +833,7 @@
 | 
			
		||||
+			break;
 | 
			
		||||
+		}
 | 
			
		||||
+
 | 
			
		||||
+		if ((status & (DMA_RX_ERROR | DMA_RX_ERR_LENGTH)) &&
 | 
			
		||||
+			(!(status & DMA_RX_LONG))) {
 | 
			
		||||
+		if (status & DMA_RX_ERROR) {
 | 
			
		||||
+			dev->stats.rx_errors++;
 | 
			
		||||
+			dev->stats.rx_dropped++;
 | 
			
		||||
+
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@
 | 
			
		||||
 		sp->rx_skb[idx] = skb;
 | 
			
		||||
 
 | 
			
		||||
 		rd = (ar231x_descr_t *) & sp->rx_ring[idx];
 | 
			
		||||
@@ -826,20 +829,23 @@ static int ar231x_rx_int(struct net_devi
 | 
			
		||||
@@ -825,20 +828,23 @@ static int ar231x_rx_int(struct net_devi
 | 
			
		||||
 			/* alloc new buffer. */
 | 
			
		||||
 			skb_new = netdev_alloc_skb(dev, AR2313_BUFSIZE + RX_OFFSET);
 | 
			
		||||
 			if (skb_new != NULL) {
 | 
			
		||||
@@ -48,7 +48,7 @@
 | 
			
		||||
 				/* reset descriptor's curr_addr */
 | 
			
		||||
 				rxdesc->addr = virt_to_phys(skb_new->data);
 | 
			
		||||
 
 | 
			
		||||
@@ -1241,6 +1247,8 @@ static int ar231x_mdiobus_probe (struct 
 | 
			
		||||
@@ -1240,6 +1246,8 @@ static int ar231x_mdiobus_probe (struct 
 | 
			
		||||
 		return PTR_ERR(phydev);
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user