aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000e/lib.c')
-rw-r--r--drivers/net/e1000e/lib.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/e1000e/lib.c b/drivers/net/e1000e/lib.c
index a86c17548c1e..56b59e4a6871 100644
--- a/drivers/net/e1000e/lib.c
+++ b/drivers/net/e1000e/lib.c
@@ -1609,6 +1609,11 @@ void e1000e_reset_adaptive(struct e1000_hw *hw)
1609{ 1609{
1610 struct e1000_mac_info *mac = &hw->mac; 1610 struct e1000_mac_info *mac = &hw->mac;
1611 1611
1612 if (!mac->adaptive_ifs) {
1613 e_dbg("Not in Adaptive IFS mode!\n");
1614 goto out;
1615 }
1616
1612 mac->current_ifs_val = 0; 1617 mac->current_ifs_val = 0;
1613 mac->ifs_min_val = IFS_MIN; 1618 mac->ifs_min_val = IFS_MIN;
1614 mac->ifs_max_val = IFS_MAX; 1619 mac->ifs_max_val = IFS_MAX;
@@ -1617,6 +1622,8 @@ void e1000e_reset_adaptive(struct e1000_hw *hw)
1617 1622
1618 mac->in_ifs_mode = false; 1623 mac->in_ifs_mode = false;
1619 ew32(AIT, 0); 1624 ew32(AIT, 0);
1625out:
1626 return;
1620} 1627}
1621 1628
1622/** 1629/**
@@ -1630,6 +1637,11 @@ void e1000e_update_adaptive(struct e1000_hw *hw)
1630{ 1637{
1631 struct e1000_mac_info *mac = &hw->mac; 1638 struct e1000_mac_info *mac = &hw->mac;
1632 1639
1640 if (!mac->adaptive_ifs) {
1641 e_dbg("Not in Adaptive IFS mode!\n");
1642 goto out;
1643 }
1644
1633 if ((mac->collision_delta * mac->ifs_ratio) > mac->tx_packet_delta) { 1645 if ((mac->collision_delta * mac->ifs_ratio) > mac->tx_packet_delta) {
1634 if (mac->tx_packet_delta > MIN_NUM_XMITS) { 1646 if (mac->tx_packet_delta > MIN_NUM_XMITS) {
1635 mac->in_ifs_mode = true; 1647 mac->in_ifs_mode = true;
@@ -1650,6 +1662,8 @@ void e1000e_update_adaptive(struct e1000_hw *hw)
1650 ew32(AIT, 0); 1662 ew32(AIT, 0);
1651 } 1663 }
1652 } 1664 }
1665out:
1666 return;
1653} 1667}
1654 1668
1655/** 1669/**