summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_bge.c
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2015-05-19 12:50:54 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2015-05-19 12:50:54 +0000
commita6e057c22bfe10374cd76b450b7806fd73f3079e (patch)
tree006a9ce372b54a5ff744924d34c7d0c1e008f873 /sys/dev/pci/if_bge.c
parent8144dbeefbfcdfdb84670af37d3be5bf423e287f (diff)
Increase a maximum firmware handshake timeout to 10s
BCM5718 Programmers Guide in chapter 7 "Device Control", section "Device Reset Procedure" states that SEEPROM chips need a larger timeout than Flash ones. ok reyk
Diffstat (limited to 'sys/dev/pci/if_bge.c')
-rw-r--r--sys/dev/pci/if_bge.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c
index b761ea90020..60660dccff9 100644
--- a/sys/dev/pci/if_bge.c
+++ b/sys/dev/pci/if_bge.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_bge.c,v 1.366 2015/03/14 03:38:48 jsg Exp $ */
+/* $OpenBSD: if_bge.c,v 1.367 2015/05/19 12:50:53 mikeb Exp $ */
/*
* Copyright (c) 2001 Wind River Systems
@@ -3361,14 +3361,15 @@ bge_reset(struct bge_softc *sc)
* is complete. We expect this to fail if no SEEPROM
* is fitted.
*/
- for (i = 0; i < BGE_TIMEOUT; i++) {
+ for (i = 0; i < BGE_TIMEOUT * 10; i++) {
val = bge_readmem_ind(sc, BGE_SOFTWARE_GENCOMM);
if (val == ~BGE_MAGIC_NUMBER)
break;
DELAY(10);
}
- if (i >= BGE_TIMEOUT && (!(sc->bge_flags & BGE_NO_EEPROM)))
+ if ((i >= BGE_TIMEOUT * 10) &&
+ (!(sc->bge_flags & BGE_NO_EEPROM)))
printf("%s: firmware handshake timed out\n",
sc->bge_dev.dv_xname);
/* BCM57765 A0 needs additional time before accessing. */