mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-28 23:24:50 +00:00
e1000e: don't accumulate PHY statistics on PHY read failure
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
28b8f04a52
commit
29477e249f
1 changed files with 14 additions and 14 deletions
|
@ -3315,24 +3315,24 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
|
|||
if ((hw->phy.type == e1000_phy_82578) ||
|
||||
(hw->phy.type == e1000_phy_82577)) {
|
||||
e1e_rphy(hw, HV_SCC_UPPER, &phy_data);
|
||||
e1e_rphy(hw, HV_SCC_LOWER, &phy_data);
|
||||
adapter->stats.scc += phy_data;
|
||||
if (!e1e_rphy(hw, HV_SCC_LOWER, &phy_data))
|
||||
adapter->stats.scc += phy_data;
|
||||
|
||||
e1e_rphy(hw, HV_ECOL_UPPER, &phy_data);
|
||||
e1e_rphy(hw, HV_ECOL_LOWER, &phy_data);
|
||||
adapter->stats.ecol += phy_data;
|
||||
if (!e1e_rphy(hw, HV_ECOL_LOWER, &phy_data))
|
||||
adapter->stats.ecol += phy_data;
|
||||
|
||||
e1e_rphy(hw, HV_MCC_UPPER, &phy_data);
|
||||
e1e_rphy(hw, HV_MCC_LOWER, &phy_data);
|
||||
adapter->stats.mcc += phy_data;
|
||||
if (!e1e_rphy(hw, HV_MCC_LOWER, &phy_data))
|
||||
adapter->stats.mcc += phy_data;
|
||||
|
||||
e1e_rphy(hw, HV_LATECOL_UPPER, &phy_data);
|
||||
e1e_rphy(hw, HV_LATECOL_LOWER, &phy_data);
|
||||
adapter->stats.latecol += phy_data;
|
||||
if (!e1e_rphy(hw, HV_LATECOL_LOWER, &phy_data))
|
||||
adapter->stats.latecol += phy_data;
|
||||
|
||||
e1e_rphy(hw, HV_DC_UPPER, &phy_data);
|
||||
e1e_rphy(hw, HV_DC_LOWER, &phy_data);
|
||||
adapter->stats.dc += phy_data;
|
||||
if (!e1e_rphy(hw, HV_DC_LOWER, &phy_data))
|
||||
adapter->stats.dc += phy_data;
|
||||
} else {
|
||||
adapter->stats.scc += er32(SCC);
|
||||
adapter->stats.ecol += er32(ECOL);
|
||||
|
@ -3360,8 +3360,8 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
|
|||
if ((hw->phy.type == e1000_phy_82578) ||
|
||||
(hw->phy.type == e1000_phy_82577)) {
|
||||
e1e_rphy(hw, HV_COLC_UPPER, &phy_data);
|
||||
e1e_rphy(hw, HV_COLC_LOWER, &phy_data);
|
||||
hw->mac.collision_delta = phy_data;
|
||||
if (!e1e_rphy(hw, HV_COLC_LOWER, &phy_data))
|
||||
hw->mac.collision_delta = phy_data;
|
||||
} else {
|
||||
hw->mac.collision_delta = er32(COLC);
|
||||
}
|
||||
|
@ -3372,8 +3372,8 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
|
|||
if ((hw->phy.type == e1000_phy_82578) ||
|
||||
(hw->phy.type == e1000_phy_82577)) {
|
||||
e1e_rphy(hw, HV_TNCRS_UPPER, &phy_data);
|
||||
e1e_rphy(hw, HV_TNCRS_LOWER, &phy_data);
|
||||
adapter->stats.tncrs += phy_data;
|
||||
if (!e1e_rphy(hw, HV_TNCRS_LOWER, &phy_data))
|
||||
adapter->stats.tncrs += phy_data;
|
||||
} else {
|
||||
if ((hw->mac.type != e1000_82574) &&
|
||||
(hw->mac.type != e1000_82583))
|
||||
|
|
Loading…
Reference in a new issue