OSDN Git Service

bonding: remove unnecessary setup_by_slave member
authornikolay@redhat.com <nikolay@redhat.com>
Wed, 26 Jun 2013 15:13:37 +0000 (17:13 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Jun 2013 05:50:15 +0000 (22:50 -0700)
We have a member called setup_by_slave in struct bonding to denote if the
bond dev has different type than ARPHRD_ETHER, but that is already denoted
in bond's netdev type variable if it was setup by the slave, so use that
instead of the member.

Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c
drivers/net/bonding/bonding.h

index 142d55d..2e8b9f1 100644 (file)
@@ -1382,8 +1382,6 @@ done:
 static void bond_setup_by_slave(struct net_device *bond_dev,
                                struct net_device *slave_dev)
 {
-       struct bonding *bond = netdev_priv(bond_dev);
-
        bond_dev->header_ops        = slave_dev->header_ops;
 
        bond_dev->type              = slave_dev->type;
@@ -1392,7 +1390,6 @@ static void bond_setup_by_slave(struct net_device *bond_dev,
 
        memcpy(bond_dev->broadcast, slave_dev->broadcast,
                slave_dev->addr_len);
-       bond->setup_by_slave = 1;
 }
 
 /* On bonding slaves other than the currently active slave, suppress
@@ -3187,7 +3184,7 @@ static int bond_slave_netdev_event(unsigned long event,
 
        switch (event) {
        case NETDEV_UNREGISTER:
-               if (bond->setup_by_slave)
+               if (bond_dev->type != ARPHRD_ETHER)
                        bond_release_and_destroy(bond_dev, slave_dev);
                else
                        bond_release(bond_dev, slave_dev);
index 3fb73cc..c6c8d03 100644 (file)
@@ -226,7 +226,6 @@ struct bonding {
        rwlock_t lock;
        rwlock_t curr_slave_lock;
        u8       send_peer_notif;
-       s8       setup_by_slave;
        u8       igmp_retrans;
 #ifdef CONFIG_PROC_FS
        struct   proc_dir_entry *proc_entry;