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
master
Felix Fietkau 16 years ago
parent 2f9590a84c
commit f607e2cc76
  1. 5
      target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch
  2. 4
      target/linux/atheros/patches-2.6.28/200-ar2313_enable_mvswitch.patch

@ -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);
}

Loading…
Cancel
Save