Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/ic Turn the "esiop_intr: I shouldn't be there !" pan...



details:   https://anonhg.NetBSD.org/src/rev/5e25a6f2f350
branches:  trunk
changeset: 791058:5e25a6f2f350
user:      gson <gson%NetBSD.org@localhost>
date:      Sat Nov 02 13:59:14 2013 +0000

description:
Turn the "esiop_intr: I shouldn't be there !" panic into a printf
followed by a return from the interrupt handler.  The condition is
triggered on some KVM virtual hosts, apparently harmlessly, and not
panicing makes it possible to boot a NetBSD GENERIC kernel on those
hosts.  Also make the same change to siop to minimize divergence
between siop and esiop.  Fixes PR kern/48277.

diffstat:

 sys/dev/ic/esiop.c |  12 ++++++++----
 sys/dev/ic/siop.c  |  12 ++++++++----
 2 files changed, 16 insertions(+), 8 deletions(-)

diffs (66 lines):

diff -r 16594dc5125e -r 5e25a6f2f350 sys/dev/ic/esiop.c
--- a/sys/dev/ic/esiop.c        Sat Nov 02 10:30:18 2013 +0000
+++ b/sys/dev/ic/esiop.c        Sat Nov 02 13:59:14 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: esiop.c,v 1.56 2013/10/30 08:40:32 gson Exp $  */
+/*     $NetBSD: esiop.c,v 1.57 2013/11/02 13:59:14 gson Exp $  */
 
 /*
  * Copyright (c) 2002 Manuel Bouyer.
@@ -28,7 +28,7 @@
 /* SYM53c7/8xx PCI-SCSI I/O Processors driver */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: esiop.c,v 1.56 2013/10/30 08:40:32 gson Exp $");
+__KERNEL_RCSID(0, "$NetBSD: esiop.c,v 1.57 2013/11/02 13:59:14 gson Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1100,8 +1100,12 @@
                }
                return 1;
        }
-       /* We just should't get there */
-       panic("esiop_intr: I shouldn't be there !");
+       /*
+        * We just should't get there, but on some KVM virtual hosts,
+        * we do - see PR 48277.
+        */
+       printf("esiop_intr: I shouldn't be there !\n");
+       return 1;
 
 end:
        /*
diff -r 16594dc5125e -r 5e25a6f2f350 sys/dev/ic/siop.c
--- a/sys/dev/ic/siop.c Sat Nov 02 10:30:18 2013 +0000
+++ b/sys/dev/ic/siop.c Sat Nov 02 13:59:14 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: siop.c,v 1.99 2013/10/30 08:40:32 gson Exp $   */
+/*     $NetBSD: siop.c,v 1.100 2013/11/02 13:59:14 gson Exp $  */
 
 /*
  * Copyright (c) 2000 Manuel Bouyer.
@@ -28,7 +28,7 @@
 /* SYM53c7/8xx PCI-SCSI I/O Processors driver */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: siop.c,v 1.99 2013/10/30 08:40:32 gson Exp $");
+__KERNEL_RCSID(0, "$NetBSD: siop.c,v 1.100 2013/11/02 13:59:14 gson Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -968,8 +968,12 @@
                }
                return 1;
        }
-       /* We just should't get there */
-       panic("siop_intr: I shouldn't be there !");
+       /*
+        * We just should't get there, but on some KVM virtual hosts,
+        * we do - see PR 48277.
+        */
+       printf("siop_intr: I shouldn't be there !\n");
+       return 1;
 
 end:
        /*



Home | Main Index | Thread Index | Old Index