summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-04-10 11:27:39 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-04-10 11:27:39 +0000
commitf607e2cc76dc9bf6bd5fb90a3154c56a47d7e5fa (patch)
treebf0fac86478ccfb0b29ea79f0f78a0bd6b615fef
parent2f9590a84c1ca01751ffe3e106051f3e0240525d (diff)
downloadmaster-31e0f0ae-f607e2cc76dc9bf6bd5fb90a3154c56a47d7e5fa.tar.gz
master-31e0f0ae-f607e2cc76dc9bf6bd5fb90a3154c56a47d7e5fa.tar.bz2
master-31e0f0ae-f607e2cc76dc9bf6bd5fb90a3154c56a47d7e5fa.zip
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
-rw-r--r--target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch5
-rw-r--r--target/linux/atheros/patches-2.6.28/200-ar2313_enable_mvswitch.patch4
2 files changed, 4 insertions, 5 deletions
diff --git a/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch b/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch
index 3643c963a9..f33313c072 100644
--- a/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.patch
+++ b/target/linux/atheros/patches-2.6.28/110-ar2313_ethernet.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++;
+
diff --git a/target/linux/atheros/patches-2.6.28/200-ar2313_enable_mvswitch.patch b/target/linux/atheros/patches-2.6.28/200-ar2313_enable_mvswitch.patch
index b3efb56279..a067f9d1ab 100644
--- a/target/linux/atheros/patches-2.6.28/200-ar2313_enable_mvswitch.patch
+++ b/target/linux/atheros/patches-2.6.28/200-ar2313_enable_mvswitch.patch
@@ -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);
}