diff options
author | nsxfreddy@gmail.com <nsxfreddy@gmail.com> | 2005-09-21 23:18:04 +0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-22 06:23:13 +0400 |
commit | 552709d5aee9145f325bf07348fb299e84b2e5b3 (patch) | |
tree | e2087d962b5f2b6b74ea58c842a28d242a422edd /drivers/net/bonding | |
parent | efb0372bbaf5b829ff8c39db372779928af542a7 (diff) | |
download | linux-552709d5aee9145f325bf07348fb299e84b2e5b3.tar.xz |
[PATCH] bonding: Fix link monitor capability check (was skge: set mac address oops with bonding)
Fix bond_enslave link monitoring warning to check use_carrier status
and ethtool_ops in addition to do_ioctl. This version checks ethtool_ops
as well as do_ioctl, and also uses the per-bond params.use_carrier
instead of the global use_carrier.
Signed-off-by: Jason R. Martin <nsxfreddy@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 90449a0f2a6c..6d00c3de1a83 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -1653,7 +1653,8 @@ static int bond_enslave(struct net_device *bond_dev, struct net_device *slave_de int old_features = bond_dev->features; int res = 0; - if (slave_dev->do_ioctl == NULL) { + if (!bond->params.use_carrier && slave_dev->ethtool_ops == NULL && + slave_dev->do_ioctl == NULL) { printk(KERN_WARNING DRV_NAME ": Warning : no link monitoring support for %s\n", slave_dev->name); |