diff options
author | sos <sos@FreeBSD.org> | 2003-12-03 15:32:53 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2003-12-03 15:32:53 +0000 |
commit | 86b39578a029a1416e670091ec4d0c788f8be2fc (patch) | |
tree | 9b4a4cf44dcb82308a194787c3beb662567c49cc /sys/dev/ata/ata-lowlevel.c | |
parent | 4b61439e79ae8fc81441be32c6579c2ccd4cf476 (diff) | |
download | FreeBSD-src-86b39578a029a1416e670091ec4d0c788f8be2fc.zip FreeBSD-src-86b39578a029a1416e670091ec4d0c788f8be2fc.tar.gz |
Fix for the missing slave problem.
Approved by: re@
Diffstat (limited to 'sys/dev/ata/ata-lowlevel.c')
-rw-r--r-- | sys/dev/ata/ata-lowlevel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-lowlevel.c b/sys/dev/ata/ata-lowlevel.c index 0f6efad..f5bc78b 100644 --- a/sys/dev/ata/ata-lowlevel.c +++ b/sys/dev/ata/ata-lowlevel.c @@ -575,7 +575,7 @@ ata_reset(struct ata_channel *ch) } } } - if (stat1 & ATA_S_BUSY) { + if (!((mask == 0x03) && (stat0 & ATA_S_BUSY)) && (stat1 & ATA_S_BUSY)) { ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_SLAVE); DELAY(10); err = ATA_IDX_INB(ch, ATA_ERROR); |