diff options
-rw-r--r-- | drivers/net/bonding/bond_alb.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index cde39f06b34c..e7a460096b51 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c | |||
@@ -1343,9 +1343,8 @@ void bond_alb_deinitialize(struct bonding *bond) | |||
1343 | 1343 | ||
1344 | tlb_deinitialize(bond); | 1344 | tlb_deinitialize(bond); |
1345 | 1345 | ||
1346 | if (bond_info->rlb_enabled) { | 1346 | if (bond_info->rlb_enabled) |
1347 | rlb_deinitialize(bond); | 1347 | rlb_deinitialize(bond); |
1348 | } | ||
1349 | } | 1348 | } |
1350 | 1349 | ||
1351 | int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev) | 1350 | int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev) |
@@ -1429,9 +1428,8 @@ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev) | |||
1429 | break; | 1428 | break; |
1430 | case ETH_P_ARP: | 1429 | case ETH_P_ARP: |
1431 | do_tx_balance = 0; | 1430 | do_tx_balance = 0; |
1432 | if (bond_info->rlb_enabled) { | 1431 | if (bond_info->rlb_enabled) |
1433 | tx_slave = rlb_arp_xmit(skb, bond); | 1432 | tx_slave = rlb_arp_xmit(skb, bond); |
1434 | } | ||
1435 | break; | 1433 | break; |
1436 | default: | 1434 | default: |
1437 | do_tx_balance = 0; | 1435 | do_tx_balance = 0; |
@@ -1565,11 +1563,10 @@ void bond_alb_monitor(struct work_struct *work) | |||
1565 | --bond_info->rlb_update_delay_counter; | 1563 | --bond_info->rlb_update_delay_counter; |
1566 | } else { | 1564 | } else { |
1567 | rlb_update_rx_clients(bond); | 1565 | rlb_update_rx_clients(bond); |
1568 | if (bond_info->rlb_update_retry_counter) { | 1566 | if (bond_info->rlb_update_retry_counter) |
1569 | --bond_info->rlb_update_retry_counter; | 1567 | --bond_info->rlb_update_retry_counter; |
1570 | } else { | 1568 | else |
1571 | bond_info->rx_ntt = 0; | 1569 | bond_info->rx_ntt = 0; |
1572 | } | ||
1573 | } | 1570 | } |
1574 | } | 1571 | } |
1575 | } | 1572 | } |
@@ -1586,23 +1583,20 @@ int bond_alb_init_slave(struct bonding *bond, struct slave *slave) | |||
1586 | int res; | 1583 | int res; |
1587 | 1584 | ||
1588 | res = alb_set_slave_mac_addr(slave, slave->perm_hwaddr); | 1585 | res = alb_set_slave_mac_addr(slave, slave->perm_hwaddr); |
1589 | if (res) { | 1586 | if (res) |
1590 | return res; | 1587 | return res; |
1591 | } | ||
1592 | 1588 | ||
1593 | res = alb_handle_addr_collision_on_attach(bond, slave); | 1589 | res = alb_handle_addr_collision_on_attach(bond, slave); |
1594 | if (res) { | 1590 | if (res) |
1595 | return res; | 1591 | return res; |
1596 | } | ||
1597 | 1592 | ||
1598 | tlb_init_slave(slave); | 1593 | tlb_init_slave(slave); |
1599 | 1594 | ||
1600 | /* order a rebalance ASAP */ | 1595 | /* order a rebalance ASAP */ |
1601 | bond->alb_info.tx_rebalance_counter = BOND_TLB_REBALANCE_TICKS; | 1596 | bond->alb_info.tx_rebalance_counter = BOND_TLB_REBALANCE_TICKS; |
1602 | 1597 | ||
1603 | if (bond->alb_info.rlb_enabled) { | 1598 | if (bond->alb_info.rlb_enabled) |
1604 | bond->alb_info.rlb_rebalance = 1; | 1599 | bond->alb_info.rlb_rebalance = 1; |
1605 | } | ||
1606 | 1600 | ||
1607 | return 0; | 1601 | return 0; |
1608 | } | 1602 | } |