logo       

[PATCH 6/10] [bonding 2.6] fix OOPS in bonding driver, when removing primar: msg#00141

Subject: [PATCH 6/10] [bonding 2.6] fix OOPS in bonding driver, when removing primary
diff -Nuarp a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
--- a/drivers/net/bonding/bond_main.c   Thu Sep  4 20:18:05 2003
+++ b/drivers/net/bonding/bond_main.c   Thu Sep  4 20:18:06 2003
@@ -1941,6 +1941,10 @@ static int bond_release(struct net_devic
                        /* release the slave from its bond */
                        bond_detach_slave(bond, our_slave);
 
+                       if (bond->primary_slave == our_slave) {
+                               bond->primary_slave = NULL;
+                       }
+
                        printk (KERN_INFO "%s: releasing %s interface %s",
                                master->name,
                                (our_slave->state == BOND_STATE_ACTIVE) ? 
"active" : "backup",
@@ -1957,10 +1961,6 @@ static int bond_release(struct net_devic
                                printk(KERN_INFO
                                        "%s: now running without any active 
interface !\n",
                                        master->name);
-                       }
-
-                       if (bond->primary_slave == our_slave) {
-                               bond->primary_slave = NULL;
                        }
 
                        if ((bond_mode == BOND_MODE_TLB) ||





<Prev in Thread] Current Thread [Next in Thread>