summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ata/ata-all.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c
index c48cca9..9d37879 100644
--- a/sys/dev/ata/ata-all.c
+++ b/sys/dev/ata/ata-all.c
@@ -1244,7 +1244,10 @@ ata_reset(struct ata_softc *scp, int32_t *mask)
if (*mask == 0x03) /* wait for both master & slave */
if (!(status0 & ATA_S_BUSY) && !(status1 & ATA_S_BUSY))
break;
- DELAY(100);
+ if (ata_delayed_attach)
+ DELAY(100);
+ else
+ tsleep(ata_delayed_attach, PRIBIO, "atarst", 1);
}
DELAY(1);
outb(scp->altioaddr, ATA_A_4BIT);
OpenPOWER on IntegriCloud