diff options
Diffstat (limited to 'drivers/net/bonding/bond_sysfs.c')
-rw-r--r-- | drivers/net/bonding/bond_sysfs.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c index 3f6e4d614a47..10c58ef4876d 100644 --- a/drivers/net/bonding/bond_sysfs.c +++ b/drivers/net/bonding/bond_sysfs.c @@ -710,21 +710,12 @@ static ssize_t bonding_store_primary(struct device *d, const char *buf, size_t count) { struct bonding *bond = to_bond(d); - char ifname[IFNAMSIZ]; int ret; - sscanf(buf, "%15s", ifname); /* IFNAMSIZ */ - if (ifname[0] == '\n') - ifname[0] = '\0'; - - if (!rtnl_trylock()) - return restart_syscall(); - - ret = bond_option_primary_set(bond, ifname); + ret = bond_opt_tryset_rtnl(bond, BOND_OPT_PRIMARY, (char *)buf); if (!ret) ret = count; - rtnl_unlock(); return ret; } static DEVICE_ATTR(primary, S_IRUGO | S_IWUSR, |