aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/bonding/bond_3ad.c9
-rw-r--r--drivers/net/bonding/bonding.h4
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 */
2313int bond_3ad_set_carrier(struct bonding *bond) 2315int 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