Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/hp300/hp300 Fix fatal "intr_dispatch: stray level 6...



details:   https://anonhg.NetBSD.org/src/rev/fbb1e2840304
branches:  trunk
changeset: 342997:fbb1e2840304
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Sun Jan 17 17:49:55 2016 +0000

description:
Fix fatal "intr_dispatch: stray level 6 interrupt" panic by the GENERIC
kernel on machines without arcofi(4) audio (i.e. all hp300 except HP425e).

I failed to pull all necessary changes for arcofi(4) from OpenBSD
and I should have tested 7.0_RC kernels on my HP382 too :-(

Should be pulled up to netbsd-7 and netbsd-7-0.

diffstat:

 sys/arch/hp300/hp300/intr.c |  13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diffs (34 lines):

diff -r ca8bcc73441c -r fbb1e2840304 sys/arch/hp300/hp300/intr.c
--- a/sys/arch/hp300/hp300/intr.c       Sun Jan 17 17:45:21 2016 +0000
+++ b/sys/arch/hp300/hp300/intr.c       Sun Jan 17 17:49:55 2016 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: intr.c,v 1.41 2014/08/24 08:17:44 tsutsui Exp $        */
+/*     $NetBSD: intr.c,v 1.42 2016/01/17 17:49:55 tsutsui Exp $        */
 
 /*-
  * Copyright (c) 1996, 1997, 1999 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.41 2014/08/24 08:17:44 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.42 2016/01/17 17:49:55 tsutsui Exp $");
 
 #define _HP300_INTR_H_PRIVATE
 
@@ -199,9 +199,12 @@
 
        list = &hp300_intr_list[ipl];
        if (LIST_FIRST(&list->hi_q) == NULL) {
-               printf("intr_dispatch: ipl %d unexpected\n", ipl);
-               if (++unexpected > 10)
-                       panic("intr_dispatch: too many unexpected interrupts");
+               if (ipl != 6) {
+                       printf("intr_dispatch: ipl %d unexpected\n", ipl);
+                       if (++unexpected > 10)
+                               panic("intr_dispatch:"
+                                   " too many unexpected interrupts");
+               }
                return;
        }
 



Home | Main Index | Thread Index | Old Index