Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/isa In light of the previous change, whack the clear...



details:   https://anonhg.NetBSD.org/src/rev/488e4304bb6d
branches:  trunk
changeset: 481893:488e4304bb6d
user:      mycroft <mycroft%NetBSD.org@localhost>
date:      Tue Feb 08 17:53:48 2000 +0000

description:
In light of the previous change, whack the clearing of CSC_INTR
again.

diffstat:

 sys/dev/isa/i82365_isasubr.c |  15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diffs (41 lines):

diff -r e83f7926a0ce -r 488e4304bb6d sys/dev/isa/i82365_isasubr.c
--- a/sys/dev/isa/i82365_isasubr.c      Tue Feb 08 17:48:39 2000 +0000
+++ b/sys/dev/isa/i82365_isasubr.c      Tue Feb 08 17:53:48 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: i82365_isasubr.c,v 1.13 2000/02/08 17:48:39 mycroft Exp $      */
+/*     $NetBSD: i82365_isasubr.c,v 1.14 2000/02/08 17:53:48 mycroft Exp $      */
 
 #define        PCICISADEBUG
 
@@ -154,9 +154,13 @@
         * unhandled level interupts
         */
        if (++sc->intr_false > 40) {
+               pcic_write(h, PCIC_CSC_INTR, 0);
+               delay(10);
+
                isa_intr_disestablish(sc->intr_est, sc->ih);
                sc->ih = 0;
        }
+
 #ifdef PCICISADEBUG
        if (cscreg)
                DPRINTF(("o"));
@@ -243,11 +247,14 @@
                        DPRINTF((" succeded\n"));
                        mask |= (1 << i);
                }
-               pcic_write(h, PCIC_CSC_INTR, 0);
-               delay(10);
 
-               if (sc->ih)
+               if (sc->ih) {
+                       pcic_write(h, PCIC_CSC_INTR, 0);
+                       delay(10);
+
                        isa_intr_disestablish(ic, sc->ih);
+                       sc->ih = 0;
+               }
        }
        sc->intr_mask[h->chip] = mask;
 



Home | Main Index | Thread Index | Old Index