summaryrefslogtreecommitdiff
path: root/sys/dev/sun/ms.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sun/ms.c')
-rw-r--r--sys/dev/sun/ms.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/sun/ms.c b/sys/dev/sun/ms.c
index cf28bde08b2..1ea4fb960c6 100644
--- a/sys/dev/sun/ms.c
+++ b/sys/dev/sun/ms.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ms.c,v 1.4 1996/05/26 00:27:50 deraadt Exp $ */
+/* $OpenBSD: ms.c,v 1.5 1996/12/03 07:36:29 kstailey Exp $ */
/* $NetBSD: ms.c,v 1.6 1996/05/17 19:32:09 gwr Exp $ */
/*
@@ -544,10 +544,13 @@ ms_stint(cs)
ms = cs->cs_private;
- cs->cs_rr0_new = zs_read_csr(cs);
+ rr0 = zs_read_csr(cs);
zs_write_csr(cs, ZSWR0_RESET_STATUS);
+ cs->cs_rr0_delta |= (cs->cs_rr0 ^ rr0);
+ cs->cs_rr0 = rr0;
ms->ms_intr_flags |= INTR_ST_CHECK;
+
/* Ask for softint() call. */
cs->cs_softreq = 1;
}
@@ -615,7 +618,7 @@ ms_softint(cs)
*/
log(LOG_ERR, "%s: status interrupt?\n",
ms->ms_dev.dv_xname);
- cs->cs_rr0 = cs->cs_rr0_new;
+ cs->cs_rr0_delta = 0;
}
splx(s);