From: Tonghao Zhang <xiangxia.m....@gmail.com>

This patch is a little improvement. If user use the
command shown as below, we should print the info [1]
instead of [2]. The eth0 exists actually, and it may
confuse user.

$ echo "eth0" > /sys/class/net/bond4/bonding/slaves

[1] "bond4: no command found in slaves file - use +ifname or -ifname"
[2] "write error: No such device"

Signed-off-by: Tonghao Zhang <xiangxia.m....@gmail.com>
---
 drivers/net/bonding/bond_options.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/bonding/bond_options.c 
b/drivers/net/bonding/bond_options.c
index 4d5d01c..5526229 100644
--- a/drivers/net/bonding/bond_options.c
+++ b/drivers/net/bonding/bond_options.c
@@ -1375,6 +1375,7 @@ static int bond_option_slaves_set(struct bonding *bond,
        sscanf(newval->string, "%16s", command); /* IFNAMSIZ*/
        ifname = command + 1;
        if ((strlen(command) <= 1) ||
+           (command[0] != '+' && command[0] != '-') ||
            !dev_valid_name(ifname))
                goto err_no_cmd;
 
@@ -1396,9 +1397,6 @@ static int bond_option_slaves_set(struct bonding *bond,
                netdev_dbg(bond->dev, "Removing slave %s\n", dev->name);
                ret = bond_release(bond->dev, dev);
                break;
-
-       default:
-               goto err_no_cmd;
        }
 
 out:
-- 
1.8.3.1

Reply via email to