diff options
author | sos <sos@FreeBSD.org> | 2004-02-02 15:49:01 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2004-02-02 15:49:01 +0000 |
commit | 88dbe90498e47d242230cd92bbdff35bf906e5c1 (patch) | |
tree | 78fa97cbca2d7fe046c38981eb00cacda4a0e33f /sys/dev/ata | |
parent | e0fb2a93eb5b728dac545361d268b49075c54b69 (diff) | |
download | FreeBSD-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/ata')
-rw-r--r-- | sys/dev/ata/ata-lowlevel.c | 7 |
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) { |