6731031 panic assertion failed: devi->devi_busy_thread == (threadp()) file: devcfg.c, line: 1835
6731108 in_dq_drv() unlinks multiple in_drv_t
--- a/usr/src/uts/common/os/devcfg.c Wed Jul 30 21:26:02 2008 -0700
+++ b/usr/src/uts/common/os/devcfg.c Thu Jul 31 00:41:24 2008 -0700
@@ -5709,7 +5709,7 @@
ndi_devi_exit(pdip, circ);
if (vdip)
- ndi_devi_exit(pdip, v_circ);
+ ndi_devi_exit(vdip, v_circ);
return (rv);
}
@@ -5804,7 +5804,7 @@
out:
ndi_devi_exit(pdip, circ);
if (vdip)
- ndi_devi_exit(pdip, v_circ);
+ ndi_devi_exit(vdip, v_circ);
pm_post_unconfig(pdip, pm_cookie, devnm);
@@ -7819,6 +7819,7 @@
e_ddi_unretire_device(char *path)
{
int circ;
+ int circ2;
char *path2;
dev_info_t *pdip;
dev_info_t *dip;
@@ -7868,9 +7869,9 @@
(void) unmark_and_unfence(dip, path2);
if (!is_leaf_node(dip)) {
- ndi_devi_enter(dip, &circ);
+ ndi_devi_enter(dip, &circ2);
ddi_walk_devs(ddi_get_child(dip), unmark_and_unfence, path2);
- ndi_devi_exit(dip, circ);
+ ndi_devi_exit(dip, circ2);
}
kmem_free(path2, MAXPATHLEN);
--- a/usr/src/uts/common/os/instance.c Wed Jul 30 21:26:02 2008 -0700
+++ b/usr/src/uts/common/os/instance.c Thu Jul 31 00:41:24 2008 -0700
@@ -1321,6 +1321,7 @@
prev->ind_next_drv = ptr->ind_next_drv;
return;
}
+ prev = ptr;
}
panic("in_dq_drv: in_drv not found on node driver list");
}