aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Yasevich <vyasevic@redhat.com>2013-03-07 07:59:25 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-03-20 13:10:58 -0700
commit644f8b3b1842a0b0ae6afebf5ed4bc111ddb404c (patch)
tree337268c28570299f7ac95b15014392445d723f6c
parent340f1ecd58674be9930f85062bb681bf1ce0d483 (diff)
team: unsyc the devices addresses when port is removed
[ Upstream commit ba81276b1a5e3cf0674cb0e6d9525e5ae0c98695 ] 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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 ad86660fb8f9..8efe47abb922 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -1139,6 +1139,8 @@ static int team_port_del(struct team *team, struct net_device *port_dev)
netdev_set_master(port_dev, NULL);
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);
team_port_set_orig_dev_addr(port);