diff options
author | Amerigo Wang <amwang@redhat.com> | 2011-05-19 17:39:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-05-22 21:01:19 -0400 |
commit | 8d8fc29d02a33e4bd5f4fa47823c1fd386346093 (patch) | |
tree | 822657741aca7297209c28c906f6b8caa43d163b /drivers/net/bonding | |
parent | a37dd3332319260cce81ac91ce25fcc3a31de997 (diff) |
netpoll: disable netpoll when enslave a device
V3: rename NETDEV_ENSLAVE to NETDEV_JOIN
Currently we do nothing when we enslave a net device which is running netconsole.
Neil pointed out that we may get weird results in such case, so let's disable
netpoll on the device being enslaved. I think it is too harsh to prevent
the device being ensalved if it is running netconsole.
By the way, this patch also removes the NETDEV_GOING_DOWN from netconsole
netdev notifier, because netpoll will check if the device is running or not
and we don't handle NETDEV_PRE_UP neither.
This patch is based on net-next-2.6.
Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Neil Horman <nhorman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 088fd845ffdf..f4960f516c39 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -1640,6 +1640,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) | |||
1640 | } | 1640 | } |
1641 | } | 1641 | } |
1642 | 1642 | ||
1643 | call_netdevice_notifiers(NETDEV_JOIN, slave_dev); | ||
1644 | |||
1643 | /* If this is the first slave, then we need to set the master's hardware | 1645 | /* If this is the first slave, then we need to set the master's hardware |
1644 | * address to be the same as the slave's. */ | 1646 | * address to be the same as the slave's. */ |
1645 | if (is_zero_ether_addr(bond->dev->dev_addr)) | 1647 | if (is_zero_ether_addr(bond->dev->dev_addr)) |