diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2010-09-19 11:29:28 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2010-09-19 11:29:28 +0000 |
commit | bed9a661e8d990cb4146facc97deeff605d6958d (patch) | |
tree | 6cedb7f96045a456f2d586d50fd670806a6bb30f | |
parent | 94127c77e4fd00520c2b1810637e719b78695c05 (diff) |
Check the right mask for additional functions in phy code for 82575
and don't treat a MNG read timeout as fatal as per the Intel code
in FreeBSD.
With these changes Peter Bisroev no longer sees problems with phy
initialisation across reboots on ET quad 82575 cards.
ok claudio@
-rw-r--r-- | sys/dev/pci/if_em_hw.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/dev/pci/if_em_hw.c b/sys/dev/pci/if_em_hw.c index 0c5d67de4d6..5de273f7bbe 100644 --- a/sys/dev/pci/if_em_hw.c +++ b/sys/dev/pci/if_em_hw.c @@ -31,7 +31,7 @@ *******************************************************************************/ -/* $OpenBSD: if_em_hw.c,v 1.56 2010/08/03 16:39:33 jsg Exp $ */ +/* $OpenBSD: if_em_hw.c,v 1.57 2010/09/19 11:29:27 jsg Exp $ */ /* * if_em_hw.c Shared functions for accessing and configuring the MAC */ @@ -8482,13 +8482,13 @@ em_get_phy_cfg_done(struct em_hw *hw) msec_delay_irq(10); break; case em_80003es2lan: + case em_82575: /* Separate *_CFG_DONE_* bit for each port */ if (E1000_READ_REG(hw, STATUS) & E1000_STATUS_FUNC_1) cfg_mask = E1000_EEPROM_CFG_DONE_PORT_1; /* FALLTHROUGH */ case em_82571: case em_82572: - case em_82575: while (timeout) { if (E1000_READ_REG(hw, EEMNGCTL) & cfg_mask) break; @@ -8499,7 +8499,6 @@ em_get_phy_cfg_done(struct em_hw *hw) if (!timeout) { DEBUGOUT("MNG configuration cycle has not completed." "\n"); - return -E1000_ERR_RESET; } break; } |