
Hi Kyle,
On 8/30/2010 11:24 AM, Kyle Moffett wrote:
The Intel 82571EB chipset can be used in an unmanaged configuration as a fast dual-port Gig-E controller. Unfortunately a board consturcted that way would fail to correctly come up because the driver polls for the completion of a management cycle that will never occur.
To resolve this problem, we disable the poll and error return on chips whose EEPROMS indicate no management. As a protection against misconfigured chipsets, we still delay for the entire management poll timeout.
Signed-off-by: Kyle MoffettKyle.D.Moffett@boeing.com
Jeff Kirsherjeffrey.t.kirsher@intel.com has already accepted a similar patch to the Linux kernel into his e1000e patch queue.
drivers/net/e1000.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 2825342..c9677b4 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -4266,6 +4266,13 @@ e1000_get_phy_cfg_done(struct e1000_hw *hw) /* Fall Through */ case e1000_82571: case e1000_82572:
/* Don't bother polling the management regs if unmanaged */
if (!e1000_check_mng_mode(hw)) {
DEBUGOUT("Unmanaged chip... skipping MNG polling\n");
mdelay(timeout);
return 0;
}
- while (timeout) { if (E1000_READ_REG(hw, EEMNGCTL)& cfg_mask) break;
Applied to net/next after fixing typo in prologue (see if you can find it)
regards, Ben