bonding: remove redundant checks from bonding_store_slaves V2
Jiri Pirko [Tue, 18 May 2010 05:44:53 +0000 (05:44 +0000)]
(it's actually the same as v1)

Remove checks that duplicates similar checks in bond_enslave.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/bonding/bond_sysfs.c

index 29a7a8a..7911438 100644 (file)
@@ -243,7 +243,7 @@ static ssize_t bonding_store_slaves(struct device *d,
 
        if (command[0] == '+') {
 
-               /* Got a slave name in ifname.  Is it already in the list? */
+               /* Got a slave name in ifname. */
 
                dev = __dev_get_by_name(dev_net(bond->dev), ifname);
                if (!dev) {
@@ -253,24 +253,6 @@ static ssize_t bonding_store_slaves(struct device *d,
                        goto out;
                }
 
-               if (dev->flags & IFF_UP) {
-                       pr_err("%s: Error: Unable to enslave %s because it is already up.\n",
-                              bond->dev->name, dev->name);
-                       ret = -EPERM;
-                       goto out;
-               }
-
-               read_lock(&bond->lock);
-               bond_for_each_slave(bond, slave, i)
-                       if (slave->dev == dev) {
-                               pr_err("%s: Interface %s is already enslaved!\n",
-                                      bond->dev->name, ifname);
-                               ret = -EPERM;
-                               read_unlock(&bond->lock);
-                               goto out;
-                       }
-               read_unlock(&bond->lock);
-
                pr_info("%s: Adding slave %s.\n", bond->dev->name, ifname);
 
                /* If this is the first slave, then we need to set