team: do not allow to add VLAN challenged port when vlan is used
authorJiri Pirko <jiri@resnulli.us>
Thu, 23 Aug 2012 03:26:53 +0000 (03:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Aug 2012 17:46:40 +0000 (13:46 -0400)
Reported-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/team/team.c

index a5926c8584aa58406698991c174e54d756dc820b..b4f67b55ef79c0173f3c788270565587e2c20f71 100644 (file)
@@ -989,6 +989,13 @@ static int team_port_add(struct team *team, struct net_device *port_dev)
                return -EBUSY;
        }
 
+       if (port_dev->features & NETIF_F_VLAN_CHALLENGED &&
+           vlan_uses_dev(dev)) {
+               netdev_err(dev, "Device %s is VLAN challenged and team device has VLAN set up\n",
+                          portname);
+               return -EPERM;
+       }
+
        err = team_dev_type_check_change(dev, port_dev);
        if (err)
                return err;