diff options
author | Eric Dumazet | 2010-03-18 14:37:40 +0100 |
---|---|---|
committer | David S. Miller | 2010-03-22 02:34:15 +0100 |
commit | 283f2fe87e980d8af5ad8aa63751e7e3258ee05a (patch) | |
tree | 43876fc3958a8c59cd4fd7a7815ed8fd56dcd84b /net/core | |
parent | tcp: Add SNMP counter for DEFER_ACCEPT (diff) | |
download | kernel-qcow2-linux-283f2fe87e980d8af5ad8aa63751e7e3258ee05a.tar.gz kernel-qcow2-linux-283f2fe87e980d8af5ad8aa63751e7e3258ee05a.tar.xz kernel-qcow2-linux-283f2fe87e980d8af5ad8aa63751e7e3258ee05a.zip |
net: speedup netdev_set_master()
We currently force a synchronize_net() in netdev_set_master()
This seems necessary only when a slave had a master and we dismantle it.
In the other case ("ifenslave bond0 ethO"), we dont need this long
delay.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index fe2a754238a9..2d01f18f303a 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3757,11 +3757,10 @@ int netdev_set_master(struct net_device *slave, struct net_device *master) slave->master = master; - synchronize_net(); - - if (old) + if (old) { + synchronize_net(); dev_put(old); - + } if (master) slave->flags |= IFF_SLAVE; else |