aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/team/team.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2015-03-19 08:57:04 +0800
committerAlex Shi <alex.shi@linaro.org>2015-03-19 08:57:04 +0800
commitba0bfedf4c9cad58f56a7038d1462ffc21cd33df (patch)
treebc5582403ad15b835d1b69b2ab81bda44292f3e3 /drivers/net/team/team.c
parent43e7406efd7822d75c64310461d2cbca0ece19f0 (diff)
parent7f4e64246049cef5ae1eca37eec1701a9477799e (diff)
Merge tag 'v3.10.72' into linux-linaro-lsklsk-v3.10-15.03linux-linaro-lsk-v3.10
This is the 3.10.72 stable release
Diffstat (limited to 'drivers/net/team/team.c')
-rw-r--r--drivers/net/team/team.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 12222290c802..14179a6593ef 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -42,9 +42,7 @@
static struct team_port *team_port_get_rcu(const struct net_device *dev)
{
- struct team_port *port = rcu_dereference(dev->rx_handler_data);
-
- return team_port_exists(dev) ? port : NULL;
+ return rcu_dereference(dev->rx_handler_data);
}
static struct team_port *team_port_get_rtnl(const struct net_device *dev)
@@ -1523,11 +1521,11 @@ static int team_set_mac_address(struct net_device *dev, void *p)
if (dev->type == ARPHRD_ETHER && !is_valid_ether_addr(addr->sa_data))
return -EADDRNOTAVAIL;
memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
- rcu_read_lock();
- list_for_each_entry_rcu(port, &team->port_list, list)
+ mutex_lock(&team->lock);
+ list_for_each_entry(port, &team->port_list, list)
if (team->ops.port_change_dev_addr)
team->ops.port_change_dev_addr(team, port);
- rcu_read_unlock();
+ mutex_unlock(&team->lock);
return 0;
}