summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2010-09-19 11:29:28 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2010-09-19 11:29:28 +0000
commitbed9a661e8d990cb4146facc97deeff605d6958d (patch)
tree6cedb7f96045a456f2d586d50fd670806a6bb30f
parent94127c77e4fd00520c2b1810637e719b78695c05 (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.c5
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;
}