From e18e902ba5d2ca6e635e17133f00008e42edd742 Mon Sep 17 00:00:00 2001 From: Jiri Pirko Date: Thu, 8 Dec 2011 04:11:20 +0000 Subject: [PATCH] --- yaml --- r: 278532 b: refs/heads/master c: 57459185a19b0246866479522b77cbb9732201d1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/team/team.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 6ff88e8af4af..57804c2e3aa5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 348a1443cc4303c72cf1ee3b26e476fec8e7b5fa +refs/heads/master: 57459185a19b0246866479522b77cbb9732201d1 diff --git a/trunk/drivers/net/team/team.c b/trunk/drivers/net/team/team.c index 79c2d1b52eb6..ed2a862b835d 100644 --- a/trunk/drivers/net/team/team.c +++ b/trunk/drivers/net/team/team.c @@ -588,6 +588,13 @@ static int team_port_add(struct team *team, struct net_device *port_dev) goto err_dev_open; } + err = vlan_vids_add_by_dev(port_dev, dev); + if (err) { + netdev_err(dev, "Failed to add vlan ids to device %s\n", + portname); + goto err_vids_add; + } + err = netdev_set_master(port_dev, dev); if (err) { netdev_err(dev, "Device %s failed to set master\n", portname); @@ -615,6 +622,9 @@ static int team_port_add(struct team *team, struct net_device *port_dev) netdev_set_master(port_dev, NULL); err_set_master: + vlan_vids_del_by_dev(port_dev, dev); + +err_vids_add: dev_close(port_dev); err_dev_open: @@ -648,6 +658,7 @@ static int team_port_del(struct team *team, struct net_device *port_dev) team_adjust_ops(team); netdev_rx_handler_unregister(port_dev); netdev_set_master(port_dev, NULL); + vlan_vids_del_by_dev(port_dev, dev); dev_close(port_dev); team_port_leave(team, port); team_port_set_orig_mac(port);