summaryrefslogtreecommitdiffstats
path: root/drivers/net/team
diff options
context:
space:
mode:
authorVlad Yasevich <vyasevic@redhat.com>2013-03-07 07:59:25 +0000
committerDavid S. Miller <davem@davemloft.net>2013-03-07 16:35:57 -0500
commitba81276b1a5e3cf0674cb0e6d9525e5ae0c98695 (patch)
tree6adf4acaa1e7113758263a05c19ed96e0565d109 /drivers/net/team
parentfbca58a2242ef2b84049365786d501ee512aefcf (diff)
team: unsyc the devices addresses when port is removed
When a team port is removed, unsync all devices addresses that may have been synched to the port devices. CC: Jiri Pirko <jiri@resnulli.us> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com> Acked-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/team')
-rw-r--r--drivers/net/team/team.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 05c5efe8459..bf341929787 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -1138,6 +1138,8 @@ static int team_port_del(struct team *team, struct net_device *port_dev)
netdev_upper_dev_unlink(port_dev, dev);
team_port_disable_netpoll(port);
vlan_vids_del_by_dev(port_dev, dev);
+ dev_uc_unsync(port_dev, dev);
+ dev_mc_unsync(port_dev, dev);
dev_close(port_dev);
team_port_leave(team, port);