changeset 3790:129fe0da02b8

6528546 system panic with add_softintr: exceeded 1208 handlers
author et142600
date Fri, 09 Mar 2007 13:52:20 -0800
parents 464c21782f37
children 4893821e03ad
files usr/src/uts/sun4/io/px/px_debug.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/sun4/io/px/px_debug.c	Fri Mar 09 13:00:56 2007 -0800
+++ b/usr/src/uts/sun4/io/px/px_debug.c	Fri Mar 09 13:52:20 2007 -0800
@@ -19,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -279,9 +279,10 @@
 px_dbg_detach(dev_info_t *dip, ddi_softint_handle_t *dbg_hdl)
 {
 #ifdef	DEBUG
+	if (dbg_hdl != NULL)
+		(void) ddi_intr_remove_softint(*dbg_hdl);
+
 	if (--px_dbg_reference == 0) {
-		if (dbg_hdl != NULL)
-			(void) ddi_intr_remove_softint(*dbg_hdl);
 		if (px_dbg_msgq != NULL)
 			kmem_free(px_dbg_msgq,
 			    sizeof (px_dbg_msg_t) * px_dbg_msg_size);