Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/ic When pruning state at interrupt enable time, also...



details:   https://anonhg.NetBSD.org/src/rev/3ba4f8078dd7
branches:  trunk
changeset: 525581:3ba4f8078dd7
user:      martin <martin%NetBSD.org@localhost>
date:      Sat Apr 13 11:03:54 2002 +0000

description:
When pruning state at interrupt enable time, also call the clearirq
routine for cards that provide it.

diffstat:

 sys/dev/ic/isac.c |  10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diffs (33 lines):

diff -r 659fd1dbc902 -r 3ba4f8078dd7 sys/dev/ic/isac.c
--- a/sys/dev/ic/isac.c Sat Apr 13 10:52:59 2002 +0000
+++ b/sys/dev/ic/isac.c Sat Apr 13 11:03:54 2002 +0000
@@ -27,14 +27,14 @@
  *     i4b_isac.c - i4b siemens isdn chipset driver ISAC handler
  *     ---------------------------------------------------------
  *
- *     $Id: isac.c,v 1.12 2002/04/13 10:28:36 martin Exp $ 
+ *     $Id: isac.c,v 1.13 2002/04/13 11:03:54 martin Exp $ 
  *
  *      last edit-date: [Fri Jan  5 11:36:10 2001]
  *
  *---------------------------------------------------------------------------*/
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: isac.c,v 1.12 2002/04/13 10:28:36 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: isac.c,v 1.13 2002/04/13 11:03:54 martin Exp $");
 
 #ifdef __FreeBSD__
 #include "opt_i4b.h"
@@ -677,6 +677,12 @@
        v = ISAC_READ(I_ISTA);
        if (v & ISAC_ISTA_EXI)
                v = ISAC_READ(I_EXIR);
+
+       /* if we've just removed an interrupt status, make sure to cover
+        * all traces of it */
+       if (sc->clearirq)
+               sc->clearirq(sc);
+
        ISAC_WRITE(I_CMDR, ISAC_CMDR_RRES|ISAC_CMDR_XRES);
        ISACCMDRWRDELAY();
 



Home | Main Index | Thread Index | Old Index