summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>1994-03-04 23:43:14 +0000
committermycroft <mycroft@NetBSD.org>1994-03-04 23:43:14 +0000
commit3e02952c52fd23241dc58d7a0165a865dd508bcd (patch)
tree82616bbb54a683cd43c4565551339fcaf91efe3b /sys/dev
parentb8d4a797fa5532c8f35476efc179890dfe3c03ec (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.c5
-rw-r--r--sys/dev/isa/wd.c5
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;