diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pccard/pccard_cis.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/pccard/pccard_cis.c b/sys/dev/pccard/pccard_cis.c index ce2c23d..b912a20 100644 --- a/sys/dev/pccard/pccard_cis.c +++ b/sys/dev/pccard/pccard_cis.c @@ -94,6 +94,16 @@ pccard_read_cis(struct pccard_softc *sc) STAILQ_INIT(&state.card->pf_head); state.pf = NULL; + /* + * XXX The following shouldn't be needed, but some slow cards + * XXX seem to need it still. Need to investigate if there's + * XXX a way to tell if the card is 'ready' or not rather than + * XXX sleeping like this. We're called just after the power + * XXX up of the socket. The standard timing diagrams don't + * XXX seem to indicate that a delay is required. The old + * XXX delay was 1s. This delay is .1s. + */ + tsleep(&state, 0, "pccard", hz / 10); if (pccard_scan_cis(device_get_parent(sc->dev), sc->dev, pccard_parse_cis_tuple, &state) == -1) state.card->error++; |