Explorar o código

[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>
nsxfreddy@gmail.com %!s(int64=19) %!d(string=hai) anos
pai
achega
552709d5ae
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      drivers/net/bonding/bond_main.c

+ 2 - 1
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 old_features = bond_dev->features;
 	int res = 0;
 	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
 		printk(KERN_WARNING DRV_NAME
 		       ": Warning : no link monitoring support for %s\n",
 		       ": Warning : no link monitoring support for %s\n",
 		       slave_dev->name);
 		       slave_dev->name);