summaryrefslogtreecommitdiff
path: root/usr/src/uts/sun4u/io/sysiosbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/sun4u/io/sysiosbus.c')
-rw-r--r--usr/src/uts/sun4u/io/sysiosbus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr/src/uts/sun4u/io/sysiosbus.c b/usr/src/uts/sun4u/io/sysiosbus.c
index 3f6297da67..665252a8d5 100644
--- a/usr/src/uts/sun4u/io/sysiosbus.c
+++ b/usr/src/uts/sun4u/io/sysiosbus.c
@@ -1810,8 +1810,10 @@ sbus_add_intr_impl(dev_info_t *dip, dev_info_t *rdip,
DDI_INTR_ASSIGN_HDLR_N_ARGS(hdlp, intr_handler->funcp,
intr_handler->arg1, intr_handler->arg2);
- if (ret != DDI_SUCCESS)
- goto done;
+ if (ret != DDI_SUCCESS) {
+ mutex_exit(&softsp->intr_poll_list_lock);
+ goto done;
+ }
if ((slot >= EXT_SBUS_SLOTS) ||
(softsp->intr_hndlr_cnt[slot] == 0)) {