From 19095fd23c3515efbb2674698227290a40af1a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Schmidt?= Date: Sun, 6 Aug 2000 19:10:05 +0000 Subject: [PATCH] Use tsleep instead od DELAY in probe when not in boot. This fixes the uptil 30s hangs on PCCARD ata device probes. --- sys/dev/ata/ata-all.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index c48cca9b6ff..9d378796932 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);