diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 95a6ca7d9e51950078d5c5f6a2e7281ab18621e9..d9f85464b36298646cb1af16a4dd59c3b2cdd886 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -3077,7 +3077,7 @@ static int bond_open(struct net_device *bond_dev) if (bond_has_slaves(bond)) { read_lock(&bond->curr_slave_lock); bond_for_each_slave(bond, slave, iter) { - if ((bond->params.mode == BOND_MODE_ACTIVEBACKUP) + if (USES_PRIMARY(bond->params.mode) && (slave != bond->curr_active_slave)) { bond_set_slave_inactive_flags(slave, BOND_SLAVE_NOTIFY_NOW);