summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2004-02-02 15:49:01 +0000
committersos <sos@FreeBSD.org>2004-02-02 15:49:01 +0000
commit88dbe90498e47d242230cd92bbdff35bf906e5c1 (patch)
tree78fa97cbca2d7fe046c38981eb00cacda4a0e33f /sys/dev
parente0fb2a93eb5b728dac545361d268b49075c54b69 (diff)
downloadFreeBSD-src-88dbe90498e47d242230cd92bbdff35bf906e5c1.zip
FreeBSD-src-88dbe90498e47d242230cd92bbdff35bf906e5c1.tar.gz
Move the enabling of interrupt back to where it was some time ago.
This apparently was what broke the boot with some devices (liteon).
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ata/ata-lowlevel.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/ata/ata-lowlevel.c b/sys/dev/ata/ata-lowlevel.c
index 740f5b7..ab8a142 100644
--- a/sys/dev/ata/ata-lowlevel.c
+++ b/sys/dev/ata/ata-lowlevel.c
@@ -645,10 +645,6 @@ ata_reset(struct ata_channel *ch)
DELAY(100000);
}
- /* enable interrupt */
- DELAY(10);
- ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_4BIT);
-
if (stat0 & ATA_S_BUSY)
mask &= ~0x01;
if (stat1 & ATA_S_BUSY)
@@ -733,6 +729,9 @@ ata_command(struct ata_device *atadev, u_int8_t command,
return -1;
}
+ /* enable interrupt */
+ ATA_IDX_OUTB(atadev->channel, ATA_ALTSTAT, ATA_A_4BIT);
+
/* only use 48bit addressing if needed (avoid bugs and overhead) */
if ((lba > 268435455 || count > 256) && atadev->param &&
atadev->param->support.command2 & ATA_SUPPORT_ADDRESS48) {
OpenPOWER on IntegriCloud