diff options
author | sos <sos@FreeBSD.org> | 2004-02-21 16:55:10 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2004-02-21 16:55:10 +0000 |
commit | 74a845e42eb1db6cbe239389b0dc03c55da3d8f8 (patch) | |
tree | 3c3ed8c0123229a5093082eb3f016e253c40e091 | |
parent | 18065b763bf77571a33d562af62e14b026dfe363 (diff) | |
download | FreeBSD-src-74a845e42eb1db6cbe239389b0dc03c55da3d8f8.zip FreeBSD-src-74a845e42eb1db6cbe239389b0dc03c55da3d8f8.tar.gz |
Only register interrupt as seen if it was a real HW interrupt.
-rw-r--r-- | sys/dev/ata/ata-lowlevel.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-lowlevel.c b/sys/dev/ata/ata-lowlevel.c index ab8a142..1bbf5b2 100644 --- a/sys/dev/ata/ata-lowlevel.c +++ b/sys/dev/ata/ata-lowlevel.c @@ -320,7 +320,9 @@ ata_interrupt(void *data) /* clear interrupt and get status */ request->status = ATA_IDX_INB(ch, ATA_STATUS); - request->flags |= ATA_R_INTR_SEEN; + + if (!(request->flags & ATA_R_TIMEOUT)) + request->flags |= ATA_R_INTR_SEEN; switch (request->flags & (ATA_R_ATAPI | ATA_R_DMA | ATA_R_CONTROL)) { |