aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-07-01 13:18:27 +0000
committerJohn Crispin <john@openwrt.org>2014-07-01 13:18:27 +0000
commit9c84f72f8588041e7eb86fba6287af232226013a (patch)
treeaf33f9b28047f067a20b28d0dada0d60f87aeb27 /target/linux
parent4ddc0f9ff33033564b88d39f5e050996de1e782f (diff)
downloadupstream-9c84f72f8588041e7eb86fba6287af232226013a.tar.gz
upstream-9c84f72f8588041e7eb86fba6287af232226013a.tar.bz2
upstream-9c84f72f8588041e7eb86fba6287af232226013a.zip
ramips: set default vid of each vlan, so it won't need be set explicitly.
Signed-off-by: Xiongfei Guo <xfguo@credosemi.com> SVN-Revision: 41448
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ramips/patches-3.10/0118-NET-MIPS-add-ralink-SoC-ethernet-driver.patch24
1 files changed, 16 insertions, 8 deletions
diff --git a/target/linux/ramips/patches-3.10/0118-NET-MIPS-add-ralink-SoC-ethernet-driver.patch b/target/linux/ramips/patches-3.10/0118-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
index c5d6623d4c..6eb624fb89 100644
--- a/target/linux/ramips/patches-3.10/0118-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
+++ b/target/linux/ramips/patches-3.10/0118-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
@@ -2814,7 +2814,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+#endif
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mt7530.c
-@@ -0,0 +1,571 @@
+@@ -0,0 +1,579 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
@@ -2912,15 +2912,15 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ {
+ .name = "llllw",
+ .pvids = { 1, 1, 1, 1, 2, 1, 1 },
-+ .members = { 0x6f, 0x50 },
-+ .etags = { 0x40, 0x40 },
-+ .vids = { 1, 2 },
++ .members = { 0, 0x6f, 0x50 },
++ .etags = { 0, 0x40, 0x40 },
++ .vids = { 0, 1, 2 },
+ }, {
+ .name = "wllll",
+ .pvids = { 2, 1, 1, 1, 1, 1, 1 },
-+ .members = { 0x7e, 0x41 },
-+ .etags = { 0x40, 0x40 },
-+ .vids = { 1, 2 },
++ .members = { 0, 0x7e, 0x41 },
++ .etags = { 0, 0x40, 0x40 },
++ .vids = { 0, 1, 2 },
+ },
+};
+
@@ -2961,10 +2961,18 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+mt7530_reset_switch(struct switch_dev *dev)
+{
+ struct mt7530_priv *priv = container_of(dev, struct mt7530_priv, swdev);
++ int i;
+
+ memset(priv->port_entries, 0, sizeof(priv->port_entries));
+ memset(priv->vlan_entries, 0, sizeof(priv->vlan_entries));
+
++ /* set default vid of each vlan to the same number of vlan, so the vid
++ * won't need be set explicitly.
++ */
++ for (i = 0; i < MT7530_NUM_VLANS; i++) {
++ priv->vlan_entries[i].vid = i;
++ }
++
+ return 0;
+}
+
@@ -3158,7 +3166,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ vid = (u16)val->value.i;
+
+ if (vlan < 0 || vlan >= MT7530_NUM_VLANS)
-+ return -EINVAL;
++ return -EINVAL;
+
+ if (vid < MT7530_MIN_VID || vid > MT7530_MAX_VID)
+ return -EINVAL;