]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
team: unsyc the devices addresses when port is removed
authorVlad Yasevich <vyasevic@redhat.com>
Thu, 7 Mar 2013 07:59:25 +0000 (07:59 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Mar 2013 20:10:58 +0000 (13:10 -0700)
[ 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>
drivers/net/team/team.c

index ad86660fb8f92b092f06c9b41d03e416991f4636..8efe47abb92200be38e48ad429cfbde48c361537 100644 (file)
@@ -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);