|
@@ -1569,7 +1569,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
|
|
new_slave->delay = 0;
|
|
|
new_slave->link_failure_count = 0;
|
|
|
|
|
|
- if (bond_update_speed_duplex(new_slave))
|
|
|
+ if (bond_update_speed_duplex(new_slave) &&
|
|
|
+ bond_needs_speed_duplex(bond))
|
|
|
new_slave->link = BOND_LINK_DOWN;
|
|
|
|
|
|
new_slave->last_rx = jiffies -
|
|
@@ -2140,7 +2141,8 @@ static void bond_miimon_commit(struct bonding *bond)
|
|
|
continue;
|
|
|
|
|
|
case BOND_LINK_UP:
|
|
|
- if (bond_update_speed_duplex(slave)) {
|
|
|
+ if (bond_update_speed_duplex(slave) &&
|
|
|
+ bond_needs_speed_duplex(bond)) {
|
|
|
slave->link = BOND_LINK_DOWN;
|
|
|
netdev_warn(bond->dev,
|
|
|
"failed to get link speed/duplex for %s\n",
|