diff options
author | vikram <none@none> | 2008-07-31 00:41:24 -0700 |
---|---|---|
committer | vikram <none@none> | 2008-07-31 00:41:24 -0700 |
commit | ffc89d770ba895ae3788935db305c2fc9263cf3c (patch) | |
tree | ba3944bd41c79c21c6c38213e44749e41228b48d /usr/src/uts/common/os/devcfg.c | |
parent | a1f56047ce3bc10dd794dfc45be8b3ff11221725 (diff) | |
download | illumos-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.c | 9 |
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); |