Use tsleep instead od DELAY in probe when not in boot.

This fixes the uptil 30s hangs on PCCARD ata device probes.
This commit is contained in:
sos 2000-08-06 19:10:05 +00:00
parent d65b25bf44
commit 25ff832d72

View File

@ -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);