diff options
author | sos <sos@FreeBSD.org> | 2003-08-25 13:06:13 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2003-08-25 13:06:13 +0000 |
commit | 17b165ad69302110efae91469743d7f11d2a73c8 (patch) | |
tree | 5b3893e1b14b11d9f483effec4f9541962dc326d | |
parent | fd78182c7c1f22845344b00ddb5d0fd805f6a328 (diff) | |
download | FreeBSD-src-17b165ad69302110efae91469743d7f11d2a73c8.zip FreeBSD-src-17b165ad69302110efae91469743d7f11d2a73c8.tar.gz |
Try to get rid of the fake slave problem.
-rw-r--r-- | sys/dev/ata/ata-lowlevel.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-lowlevel.c b/sys/dev/ata/ata-lowlevel.c index 9d0ba66..865cb0f 100644 --- a/sys/dev/ata/ata-lowlevel.c +++ b/sys/dev/ata/ata-lowlevel.c @@ -533,6 +533,8 @@ ata_reset(struct ata_channel *ch) lsb = ATA_IDX_INB(ch, ATA_CYL_LSB); msb = ATA_IDX_INB(ch, ATA_CYL_MSB); stat0 = ATA_IDX_INB(ch, ATA_STATUS); + ATA_IDX_OUTB(ch, ATA_CYL_LSB, 0x00); + ATA_IDX_OUTB(ch, ATA_CYL_MSB, 0x00); if (!(stat0 & ATA_S_BUSY)) { if (bootverbose) ata_printf(ch, ATA_MASTER, "ATAPI %02x %02x\n", lsb, msb); @@ -548,6 +550,8 @@ ata_reset(struct ata_channel *ch) lsb = ATA_IDX_INB(ch, ATA_CYL_LSB); msb = ATA_IDX_INB(ch, ATA_CYL_MSB); stat1 = ATA_IDX_INB(ch, ATA_STATUS); + ATA_IDX_OUTB(ch, ATA_CYL_LSB, 0x00); + ATA_IDX_OUTB(ch, ATA_CYL_MSB, 0x00); if (!(stat1 & ATA_S_BUSY)) { if (bootverbose) ata_printf(ch, ATA_SLAVE, "ATAPI %02x %02x\n", lsb, msb); |