[OpenWrt-Devel] [PATCH] ramips: set default vid of each vlan, so it won't need be set explicitly.

John Crispin john at phrozen.org
Tue Jul 1 06:57:44 EDT 2014


Great,

Roman can you test / confirm that this fixes the problem on rt-n14 ? i
don't have that unit myself so i cannot test.

	John

On 01/07/2014 12:54, xfguo at credosemi.com wrote:
> Signed-off-by: Xiongfei Guo <xfguo at credosemi.com> --- 
> ...8-NET-MIPS-add-ralink-SoC-ethernet-driver.patch | 24
> ++++++++++++++-------- 1 file 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 c5d6623..6eb624f 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 at 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 at 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 at 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 at 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;
> 
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list