summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2004-02-21 16:55:10 +0000
committersos <sos@FreeBSD.org>2004-02-21 16:55:10 +0000
commit74a845e42eb1db6cbe239389b0dc03c55da3d8f8 (patch)
tree3c3ed8c0123229a5093082eb3f016e253c40e091 /sys/dev
parent18065b763bf77571a33d562af62e14b026dfe363 (diff)
downloadFreeBSD-src-74a845e42eb1db6cbe239389b0dc03c55da3d8f8.zip
FreeBSD-src-74a845e42eb1db6cbe239389b0dc03c55da3d8f8.tar.gz
Only register interrupt as seen if it was a real HW interrupt.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ata/ata-lowlevel.c4
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)) {
OpenPOWER on IntegriCloud