Skip to content

Commit

Permalink
e1000e: increase swflag acquisition timeout for ICHx/PCH
Browse files Browse the repository at this point in the history
In some conditions (e.g. when AMT is enabled on the system), it is possible
to take an extended period of time to for the driver to acquire the sw/fw/hw
hardware semaphore used to protect against concurrent access of a shared
resource (e.g. PHY registers).  This could cause PHY registers to not get
configured properly resulting in link issues.

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>
  • Loading branch information
Bruce Allan authored and David S. Miller committed Oct 26, 2009
1 parent db2932e commit 53ac5a8
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/net/e1000e/ich8lan.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@

#define HV_LED_CONFIG PHY_REG(768, 30) /* LED Configuration */

#define SW_FLAG_TIMEOUT 1000 /* SW Semaphore flag timeout in milliseconds */

/* ICH GbE Flash Hardware Sequencing Flash Status Register bit breakdown */
/* Offset 04h HSFSTS */
union ich8_hws_flash_status {
Expand Down Expand Up @@ -599,7 +601,7 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
goto out;
}

timeout = PHY_CFG_TIMEOUT * 2;
timeout = SW_FLAG_TIMEOUT;

extcnf_ctrl |= E1000_EXTCNF_CTRL_SWFLAG;
ew32(EXTCNF_CTRL, extcnf_ctrl);
Expand Down

0 comments on commit 53ac5a8

Please sign in to comment.