]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/bonding/bond_options.c
bonding: clean the primary slave if there is no slave matching new primary
[karo-tx-linux.git] / drivers / net / bonding / bond_options.c
index 05a402c99bff5e4071ef554ecfc1e34f9c44f6ef..4cee04aa6eb3f497bf2c66e04ecd00dc69a9ff19 100644 (file)
@@ -1021,6 +1021,12 @@ int bond_option_primary_set(struct bonding *bond, struct bond_opt_value *newval)
                }
        }
 
+       if (bond->primary_slave) {
+               pr_info("%s: Setting primary slave to None.\n",
+                       bond->dev->name);
+               bond->primary_slave = NULL;
+               bond_select_active_slave(bond);
+       }
        strncpy(bond->params.primary, primary, IFNAMSIZ);
        bond->params.primary[IFNAMSIZ - 1] = 0;