diff options
-rw-r--r-- | drivers/net/bonding/bond_3ad.c | 9 | ||||
-rw-r--r-- | drivers/net/bonding/bonding.h | 4 |
2 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index 7e03f41ae2c2..f829e4ad8b49 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c | |||
@@ -2303,19 +2303,18 @@ void bond_3ad_handle_link_change(struct slave *slave, char link) | |||
2303 | } | 2303 | } |
2304 | 2304 | ||
2305 | /* | 2305 | /* |
2306 | * set link state for bonding master: if we have an active partnered | 2306 | * set link state for bonding master: if we have an active |
2307 | * aggregator, we're up, if not, we're down. Presumes that we cannot | 2307 | * aggregator, we're up, if not, we're down. Presumes that we cannot |
2308 | * have an active aggregator if there are no slaves with link up. | 2308 | * have an active aggregator if there are no slaves with link up. |
2309 | * | 2309 | * |
2310 | * This behavior complies with IEEE 802.3 section 43.3.9. | ||
2311 | * | ||
2310 | * Called by bond_set_carrier(). Return zero if carrier state does not | 2312 | * Called by bond_set_carrier(). Return zero if carrier state does not |
2311 | * change, nonzero if it does. | 2313 | * change, nonzero if it does. |
2312 | */ | 2314 | */ |
2313 | int bond_3ad_set_carrier(struct bonding *bond) | 2315 | int bond_3ad_set_carrier(struct bonding *bond) |
2314 | { | 2316 | { |
2315 | struct aggregator *agg; | 2317 | if (__get_active_agg(&(SLAVE_AD_INFO(bond->first_slave).aggregator))) { |
2316 | |||
2317 | agg = __get_active_agg(&(SLAVE_AD_INFO(bond->first_slave).aggregator)); | ||
2318 | if (agg && MAC_ADDRESS_COMPARE(&agg->partner_system, &null_mac_addr)) { | ||
2319 | if (!netif_carrier_ok(bond->dev)) { | 2318 | if (!netif_carrier_ok(bond->dev)) { |
2320 | netif_carrier_on(bond->dev); | 2319 | netif_carrier_on(bond->dev); |
2321 | return 1; | 2320 | return 1; |
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h index 41aa78bf1f78..a89102116ccb 100644 --- a/drivers/net/bonding/bonding.h +++ b/drivers/net/bonding/bonding.h | |||
@@ -22,8 +22,8 @@ | |||
22 | #include "bond_3ad.h" | 22 | #include "bond_3ad.h" |
23 | #include "bond_alb.h" | 23 | #include "bond_alb.h" |
24 | 24 | ||
25 | #define DRV_VERSION "3.1.2" | 25 | #define DRV_VERSION "3.1.3" |
26 | #define DRV_RELDATE "January 20, 2007" | 26 | #define DRV_RELDATE "June 13, 2007" |
27 | #define DRV_NAME "bonding" | 27 | #define DRV_NAME "bonding" |
28 | #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" | 28 | #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" |
29 | 29 | ||