On Wed, 2017-08-09 at 14:47 -0700, Jeff Kirsher wrote: > From: Gustavo A R Silva <garsi...@embeddedor.com> > > Check return value from call to e1e_wphy(). This value is being > checked during previous calls to function e1e_wphy() and it seems > a check was missing here.
The use of "it seems" here is less than compelling. Perhaps the write of 0x3140 to MII_BMCR takes too long for the return value used. Many other uses of e1e_wphy.*MII_BMCR are also not checked. For instance: the e100e/ethtool uses. > diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c > b/drivers/net/ethernet/intel/e1000e/ich8lan.c [] > @@ -2437,6 +2437,8 @@ static s32 e1000_hv_phy_workarounds_ich8lan(struct > e1000_hw *hw) > if (hw->phy.revision < 2) { > e1000e_phy_sw_reset(hw); > ret_val = e1e_wphy(hw, MII_BMCR, 0x3140); > + if (ret_val) > + return ret_val; > } > } >