diff mbox

[net] net: dsa: mv88e6xxx: Fix port forwarding mask

Message ID 1464600944-30782-1-git-send-email-Wojciech.Dubowik@neratec.com
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Wojciech Dubowik May 30, 2016, 9:35 a.m. UTC
Port's vlan table is specified by bit mask and not by number.
Only 4.4.x kernels are affected.

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
---
 drivers/net/dsa/mv88e6xxx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vivien Didelot May 30, 2016, 2:17 p.m. UTC | #1
Hi Wojciech, David,

Wojciech Dubowik <Wojciech.Dubowik@neratec.com> writes:

> Port's vlan table is specified by bit mask and not by number.
> Only 4.4.x kernels are affected.
>
> Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com>
> ---
>  drivers/net/dsa/mv88e6xxx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c
> index 2dea39b..3e074d4 100644
> --- a/drivers/net/dsa/mv88e6xxx.c
> +++ b/drivers/net/dsa/mv88e6xxx.c
> @@ -2150,7 +2150,7 @@ static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port)
>  	 * database, and allow every port to egress frames on all other ports.
>  	 */
>  	reg = BIT(ps->num_ports) - 1; /* all ports */
> -	ret = _mv88e6xxx_port_vlan_map_set(ds, port, reg & ~port);
> +	ret = _mv88e6xxx_port_vlan_map_set(ds, port, reg & ~BIT(port));
>  	if (ret)
>  		goto abort;

Commit be1faa92e83b ("net: dsa: mv88e6xxx: fix port VLAN maps") in
net/master already fixes this.

But indeed v4.5 contains be1faa92e83b but not v4.4.

Thanks,

        Vivien
diff mbox

Patch

diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c
index 2dea39b..3e074d4 100644
--- a/drivers/net/dsa/mv88e6xxx.c
+++ b/drivers/net/dsa/mv88e6xxx.c
@@ -2150,7 +2150,7 @@  static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port)
 	 * database, and allow every port to egress frames on all other ports.
 	 */
 	reg = BIT(ps->num_ports) - 1; /* all ports */
-	ret = _mv88e6xxx_port_vlan_map_set(ds, port, reg & ~port);
+	ret = _mv88e6xxx_port_vlan_map_set(ds, port, reg & ~BIT(port));
 	if (ret)
 		goto abort;