Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[cascardo/linux.git] / drivers / net / bonding / bond_options.c
index 55e93b6..577e57c 100644 (file)
@@ -402,7 +402,6 @@ static const struct bond_option bond_opts[BOND_OPT_LAST] = {
                .id = BOND_OPT_AD_ACTOR_SYS_PRIO,
                .name = "ad_actor_sys_prio",
                .unsuppmodes = BOND_MODE_ALL_EX(BIT(BOND_MODE_8023AD)),
-               .flags = BOND_OPTFLAG_IFDOWN,
                .values = bond_ad_actor_sys_prio_tbl,
                .set = bond_option_ad_actor_sys_prio_set,
        },
@@ -410,7 +409,7 @@ static const struct bond_option bond_opts[BOND_OPT_LAST] = {
                .id = BOND_OPT_AD_ACTOR_SYSTEM,
                .name = "ad_actor_system",
                .unsuppmodes = BOND_MODE_ALL_EX(BIT(BOND_MODE_8023AD)),
-               .flags = BOND_OPTFLAG_RAWVAL | BOND_OPTFLAG_IFDOWN,
+               .flags = BOND_OPTFLAG_RAWVAL,
                .set = bond_option_ad_actor_system_set,
        },
        [BOND_OPT_AD_USER_PORT_KEY] = {
@@ -1392,6 +1391,8 @@ static int bond_option_ad_actor_sys_prio_set(struct bonding *bond,
                    newval->value);
 
        bond->params.ad_actor_sys_prio = newval->value;
+       bond_3ad_update_ad_actor_settings(bond);
+
        return 0;
 }
 
@@ -1418,6 +1419,8 @@ static int bond_option_ad_actor_system_set(struct bonding *bond,
 
        netdev_info(bond->dev, "Setting ad_actor_system to %pM\n", mac);
        ether_addr_copy(bond->params.ad_actor_system, mac);
+       bond_3ad_update_ad_actor_settings(bond);
+
        return 0;
 
 err: