changeset 13577:39608e1faa5f

1779 panic: assertion failed: rc == DDI_SUCCESS, file: ../../common/os/devcfg.c, line: 4185 Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com> Reviewed by: Dan Kruchinin <dkruchinin@acm.org> Reviewed by: Milan Jurik <milan.jurik@xylab.cz> Reviewed by: Michael Speer <michael.speer@pluribusnetworks.com> Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com> Reviewed by: Alexander Stetsenko <ams@nexenta.com> Reviewed by: Bayard Bell <buffer.g.overflow@gmail.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Richard Lowe <richlowe@richlowe.net>
author Alexander Eremin <a.eremin@nexenta.com>
date Thu, 26 Jan 2012 14:49:36 +0300
parents fcde6b8bbfd2
children dbfc0ca2987b
files usr/src/uts/common/os/devcfg.c
diffstat 1 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/os/devcfg.c	Wed Jan 25 22:01:17 2012 -0800
+++ b/usr/src/uts/common/os/devcfg.c	Thu Jan 26 14:49:36 2012 +0300
@@ -21,6 +21,9 @@
 /*
  * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
  */
+/*
+ * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
+ */
 
 #include <sys/note.h>
 #include <sys/t_lock.h>
@@ -4181,11 +4184,11 @@
 
 		rc = devi_quiesce(dip);
 
-		/* quiesce() should never fail */
-		ASSERT(rc == DDI_SUCCESS);
-
 		if (rc != DDI_SUCCESS && should_quiesce) {
-
+#ifdef DEBUG
+			cmn_err(CE_WARN, "quiesce() failed for %s%d",
+			    ddi_driver_name(dip), ddi_get_instance(dip));
+#endif /* DEBUG */
 			if (arg != NULL)
 				*((int *)arg) = -1;
 		}