|
@@ -2247,6 +2247,9 @@ static int bond_miimon_inspect(struct bonding *bond)
|
|
|
{
|
|
|
struct slave *slave;
|
|
|
int i, link_state, commit = 0;
|
|
|
+ bool ignore_updelay;
|
|
|
+
|
|
|
+ ignore_updelay = !bond->curr_active_slave ? true : false;
|
|
|
|
|
|
bond_for_each_slave(bond, slave, i) {
|
|
|
slave->new_link = BOND_LINK_NOCHANGE;
|
|
@@ -2311,6 +2314,7 @@ static int bond_miimon_inspect(struct bonding *bond)
|
|
|
": %s: link status up for "
|
|
|
"interface %s, enabling it in %d ms.\n",
|
|
|
bond->dev->name, slave->dev->name,
|
|
|
+ ignore_updelay ? 0 :
|
|
|
bond->params.updelay *
|
|
|
bond->params.miimon);
|
|
|
}
|
|
@@ -2329,9 +2333,13 @@ static int bond_miimon_inspect(struct bonding *bond)
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ if (ignore_updelay)
|
|
|
+ slave->delay = 0;
|
|
|
+
|
|
|
if (slave->delay <= 0) {
|
|
|
slave->new_link = BOND_LINK_UP;
|
|
|
commit++;
|
|
|
+ ignore_updelay = false;
|
|
|
continue;
|
|
|
}
|
|
|
|