]> Pileus Git - ~andy/linux/blobdiff - drivers/net/bonding/bond_sysfs.c
bonding: convert miimon to use the new option API
[~andy/linux] / drivers / net / bonding / bond_sysfs.c
index e1c99db134a9cd2fe28840239492f5637cbb909d..3f6e4d614a474ad2d6d222162bda72bdfac16e1c 100644 (file)
@@ -673,23 +673,13 @@ static ssize_t bonding_store_miimon(struct device *d,
                                    struct device_attribute *attr,
                                    const char *buf, size_t count)
 {
-       int new_value, ret;
        struct bonding *bond = to_bond(d);
+       int ret;
 
-       if (sscanf(buf, "%d", &new_value) != 1) {
-               pr_err("%s: no miimon value specified.\n",
-                      bond->dev->name);
-               return -EINVAL;
-       }
-
-       if (!rtnl_trylock())
-               return restart_syscall();
-
-       ret = bond_option_miimon_set(bond, new_value);
+       ret = bond_opt_tryset_rtnl(bond, BOND_OPT_MIIMON, (char *)buf);
        if (!ret)
                ret = count;
 
-       rtnl_unlock();
        return ret;
 }
 static DEVICE_ATTR(miimon, S_IRUGO | S_IWUSR,