Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1284cd3a2b740d0118458d2ea470a1e5bc19b187
Commit:     1284cd3a2b740d0118458d2ea470a1e5bc19b187
Parent:     369d742defed73fc6b38bf0929fb198d072102ab
Author:     Jay Vosburgh <[EMAIL PROTECTED]>
AuthorDate: Mon Oct 15 16:44:27 2007 -0700
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Tue Oct 16 21:10:27 2007 -0400

    bonding: two small fixes for IPoIB support
    
        Two small fixes to IPoIB support for bonding:
    
        1- copy header_ops from slave to bonding for IPoIB slaves
        2- move release and destroy logic to UNREGISTER from GOING_DOWN
           notifier to avoid double release
    
        Set bonding to version 3.2.1.
    
    Signed-off-by: Moni Shoua <monis at voltaire.com>
    Signed-off-by: Jay Vosburgh <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/bonding/bond_main.c |   11 +++++------
 drivers/net/bonding/bonding.h   |    4 ++--
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index db80f24..6f85cc3 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1263,6 +1263,7 @@ static void bond_setup_by_slave(struct net_device 
*bond_dev,
        struct bonding *bond = bond_dev->priv;
 
        bond_dev->neigh_setup           = slave_dev->neigh_setup;
+       bond_dev->header_ops            = slave_dev->header_ops;
 
        bond_dev->type              = slave_dev->type;
        bond_dev->hard_header_len   = slave_dev->hard_header_len;
@@ -3351,7 +3352,10 @@ static int bond_slave_netdev_event(unsigned long event, 
struct net_device *slave
        switch (event) {
        case NETDEV_UNREGISTER:
                if (bond_dev) {
-                       bond_release(bond_dev, slave_dev);
+                       if (bond->setup_by_slave)
+                               bond_release_and_destroy(bond_dev, slave_dev);
+                       else
+                               bond_release(bond_dev, slave_dev);
                }
                break;
        case NETDEV_CHANGE:
@@ -3366,11 +3370,6 @@ static int bond_slave_netdev_event(unsigned long event, 
struct net_device *slave
                 * ... Or is it this?
                 */
                break;
-       case NETDEV_GOING_DOWN:
-               dprintk("slave %s is going down\n", slave_dev->name);
-               if (bond->setup_by_slave)
-                       bond_release_and_destroy(bond_dev, slave_dev);
-               break;
        case NETDEV_CHANGEMTU:
                /*
                 * TODO: Should slaves be allowed to
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index a8bbd56..b818060 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -22,8 +22,8 @@
 #include "bond_3ad.h"
 #include "bond_alb.h"
 
-#define DRV_VERSION    "3.2.0"
-#define DRV_RELDATE    "September 13, 2007"
+#define DRV_VERSION    "3.2.1"
+#define DRV_RELDATE    "October 15, 2007"
 #define DRV_NAME       "bonding"
 #define DRV_DESCRIPTION        "Ethernet Channel Bonding Driver"
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to