summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/devcfg.c
diff options
context:
space:
mode:
authorvikram <none@none>2008-07-31 00:41:24 -0700
committervikram <none@none>2008-07-31 00:41:24 -0700
commitffc89d770ba895ae3788935db305c2fc9263cf3c (patch)
treeba3944bd41c79c21c6c38213e44749e41228b48d /usr/src/uts/common/os/devcfg.c
parenta1f56047ce3bc10dd794dfc45be8b3ff11221725 (diff)
downloadillumos-gate-ffc89d770ba895ae3788935db305c2fc9263cf3c.tar.gz
6731031 panic assertion failed: devi->devi_busy_thread == (threadp()) file: devcfg.c, line: 1835
6731108 in_dq_drv() unlinks multiple in_drv_t
Diffstat (limited to 'usr/src/uts/common/os/devcfg.c')
-rw-r--r--usr/src/uts/common/os/devcfg.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/usr/src/uts/common/os/devcfg.c b/usr/src/uts/common/os/devcfg.c
index 91f5426e5d..aff1945f7f 100644
--- a/usr/src/uts/common/os/devcfg.c
+++ b/usr/src/uts/common/os/devcfg.c
@@ -5709,7 +5709,7 @@ devi_unconfig_one(dev_info_t *pdip, char *devnm, int flags)
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 @@ ndi_devi_unconfig_one(
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 @@ int
e_ddi_unretire_device(char *path)
{
int circ;
+ int circ2;
char *path2;
dev_info_t *pdip;
dev_info_t *dip;
@@ -7868,9 +7869,9 @@ e_ddi_unretire_device(char *path)
(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);