diff options
| author | mycroft <mycroft@NetBSD.org> | 1994-03-04 23:43:14 +0000 |
|---|---|---|
| committer | mycroft <mycroft@NetBSD.org> | 1994-03-04 23:43:14 +0000 |
| commit | 3e02952c52fd23241dc58d7a0165a865dd508bcd (patch) | |
| tree | 82616bbb54a683cd43c4565551339fcaf91efe3b /sys/dev | |
| parent | b8d4a797fa5532c8f35476efc179890dfe3c03ec (diff) | |
Make sure we clear the interrupt when necessary. Why this isn't needed on
my hardware is a mystery.
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ata/wd.c | 5 | ||||
| -rw-r--r-- | sys/dev/isa/wd.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/ata/wd.c b/sys/dev/ata/wd.c index 1bf5f137085..74a667a3218 100644 --- a/sys/dev/ata/wd.c +++ b/sys/dev/ata/wd.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)wd.c 7.2 (Berkeley) 5/9/91 - * $Id: wd.c,v 1.58 1994/03/04 17:51:10 mycroft Exp $ + * $Id: wd.c,v 1.59 1994/03/04 23:43:14 mycroft Exp $ */ #define QUIETWORKS /* define this to make wdopen() set DKFL_QUIET */ @@ -637,6 +637,9 @@ wdintr(ctrlr) register struct buf *bp, *dp; int stat, wdc; + /* clear the pending interrupt */ + (void) inb(wdcontroller[ctrlr].dkc_port+wd_status); + if (!wdtab[ctrlr].b_active) { printf("wdc%d: extra interrupt\n", ctrlr); return; diff --git a/sys/dev/isa/wd.c b/sys/dev/isa/wd.c index 1bf5f137085..74a667a3218 100644 --- a/sys/dev/isa/wd.c +++ b/sys/dev/isa/wd.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)wd.c 7.2 (Berkeley) 5/9/91 - * $Id: wd.c,v 1.58 1994/03/04 17:51:10 mycroft Exp $ + * $Id: wd.c,v 1.59 1994/03/04 23:43:14 mycroft Exp $ */ #define QUIETWORKS /* define this to make wdopen() set DKFL_QUIET */ @@ -637,6 +637,9 @@ wdintr(ctrlr) register struct buf *bp, *dp; int stat, wdc; + /* clear the pending interrupt */ + (void) inb(wdcontroller[ctrlr].dkc_port+wd_status); + if (!wdtab[ctrlr].b_active) { printf("wdc%d: extra interrupt\n", ctrlr); return; |
