Module Name:    src
Committed By:   gson
Date:           Sat Nov  2 13:59:14 UTC 2013

Modified Files:
        src/sys/dev/ic: esiop.c siop.c

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.56 -r1.57 src/sys/dev/ic/esiop.c
cvs rdiff -u -r1.99 -r1.100 src/sys/dev/ic/siop.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ic/esiop.c
diff -u src/sys/dev/ic/esiop.c:1.56 src/sys/dev/ic/esiop.c:1.57
--- src/sys/dev/ic/esiop.c:1.56	Wed Oct 30 08:40:32 2013
+++ src/sys/dev/ic/esiop.c	Sat Nov  2 13:59:14 2013
@@ -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 @@ scintr:
 		}
 		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:
 	/*

Index: src/sys/dev/ic/siop.c
diff -u src/sys/dev/ic/siop.c:1.99 src/sys/dev/ic/siop.c:1.100
--- src/sys/dev/ic/siop.c:1.99	Wed Oct 30 08:40:32 2013
+++ src/sys/dev/ic/siop.c	Sat Nov  2 13:59:14 2013
@@ -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 @@ scintr:
 		}
 		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:
 	/*

Reply via email to