e1000e: conditionally restart autoneg on 82577/8/9 when setting LPLU state
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 16 Dec 2011 00:46:49 +0000 (00:46 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 27 Jan 2012 02:29:08 +0000 (18:29 -0800)
When setting the Low Power Link Up (LPLU, a.k.a. reverse auto-negotiation)
on 82577/8278/82579, do not restart auto-negotiation if reset of the Phy is
blocked by the Manageability Engine.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000e/ich8lan.c

index d99548ce4da7a186da612943aa1889c9aaf147f8..6a6e6f6d9e73c72a74a613971a07d71dc0331670 100644 (file)
@@ -1921,7 +1921,9 @@ static s32 e1000_set_lplu_state_pchlan(struct e1000_hw *hw, bool active)
        else
                oem_reg &= ~HV_OEM_BITS_LPLU;
 
-       oem_reg |= HV_OEM_BITS_RESTART_AN;
+       if (!e1000_check_reset_block(hw))
+               oem_reg |= HV_OEM_BITS_RESTART_AN;
+
        ret_val = e1e_wphy(hw, HV_OEM_BITS, oem_reg);
 
 out: