summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-lowlevel.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2003-12-03 15:32:53 +0000
committersos <sos@FreeBSD.org>2003-12-03 15:32:53 +0000
commit86b39578a029a1416e670091ec4d0c788f8be2fc (patch)
tree9b4a4cf44dcb82308a194787c3beb662567c49cc /sys/dev/ata/ata-lowlevel.c
parent4b61439e79ae8fc81441be32c6579c2ccd4cf476 (diff)
downloadFreeBSD-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.c2
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);
OpenPOWER on IntegriCloud