]> Pileus Git - ~andy/linux/blobdiff - drivers/net/bonding/bond_main.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[~andy/linux] / drivers / net / bonding / bond_main.c
index eafe44a528ac015c8edddec6b0650a9eb526449c..d117280b9cd875ce5f0d1c8762dc5eeb4cb35fc9 100644 (file)
@@ -329,16 +329,6 @@ static int bond_del_vlan(struct bonding *bond, unsigned short vlan_id)
 
                        kfree(vlan);
 
-                       if (list_empty(&bond->vlan_list) &&
-                           (bond->slave_cnt == 0)) {
-                               /* Last VLAN removed and no slaves, so
-                                * restore block on adding VLANs. This will
-                                * be removed once new slaves that are not
-                                * VLAN challenged will be added.
-                                */
-                               bond->dev->features |= NETIF_F_VLAN_CHALLENGED;
-                       }
-
                        res = 0;
                        goto out;
                }
@@ -634,15 +624,8 @@ static int bond_update_speed_duplex(struct slave *slave)
                return -1;
 
        slave_speed = ethtool_cmd_speed(&etool);
-       switch (slave_speed) {
-       case SPEED_10:
-       case SPEED_100:
-       case SPEED_1000:
-       case SPEED_10000:
-               break;
-       default:
+       if (slave_speed == 0 || slave_speed == ((__u32) -1))
                return -1;
-       }
 
        switch (etool.duplex) {
        case DUPLEX_FULL:
@@ -1856,8 +1839,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
                        /* Initialize AD with the number of times that the AD timer is called in 1 second
                         * can be called only after the mac address of the bond is set
                         */
-                       bond_3ad_initialize(bond, 1000/AD_TIMER_INTERVAL,
-                                           bond->params.lacp_fast);
+                       bond_3ad_initialize(bond, 1000/AD_TIMER_INTERVAL);
                } else {
                        SLAVE_AD_INFO(new_slave).id =
                                SLAVE_AD_INFO(new_slave->prev).id + 1;