mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-10-03 18:29:36 +00:00
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 <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
369d742def
commit
1284cd3a2b
2 changed files with 7 additions and 8 deletions
|
@ -1263,6 +1263,7 @@ static void bond_setup_by_slave(struct net_device *bond_dev,
|
||||||
struct bonding *bond = bond_dev->priv;
|
struct bonding *bond = bond_dev->priv;
|
||||||
|
|
||||||
bond_dev->neigh_setup = slave_dev->neigh_setup;
|
bond_dev->neigh_setup = slave_dev->neigh_setup;
|
||||||
|
bond_dev->header_ops = slave_dev->header_ops;
|
||||||
|
|
||||||
bond_dev->type = slave_dev->type;
|
bond_dev->type = slave_dev->type;
|
||||||
bond_dev->hard_header_len = slave_dev->hard_header_len;
|
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) {
|
switch (event) {
|
||||||
case NETDEV_UNREGISTER:
|
case NETDEV_UNREGISTER:
|
||||||
if (bond_dev) {
|
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;
|
break;
|
||||||
case NETDEV_CHANGE:
|
case NETDEV_CHANGE:
|
||||||
|
@ -3366,11 +3370,6 @@ static int bond_slave_netdev_event(unsigned long event, struct net_device *slave
|
||||||
* ... Or is it this?
|
* ... Or is it this?
|
||||||
*/
|
*/
|
||||||
break;
|
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:
|
case NETDEV_CHANGEMTU:
|
||||||
/*
|
/*
|
||||||
* TODO: Should slaves be allowed to
|
* TODO: Should slaves be allowed to
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "bond_3ad.h"
|
#include "bond_3ad.h"
|
||||||
#include "bond_alb.h"
|
#include "bond_alb.h"
|
||||||
|
|
||||||
#define DRV_VERSION "3.2.0"
|
#define DRV_VERSION "3.2.1"
|
||||||
#define DRV_RELDATE "September 13, 2007"
|
#define DRV_RELDATE "October 15, 2007"
|
||||||
#define DRV_NAME "bonding"
|
#define DRV_NAME "bonding"
|
||||||
#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
|
#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue