diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/os/devcfg.c | 9 | ||||
-rw-r--r-- | usr/src/uts/common/os/instance.c | 1 |
2 files changed, 6 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); diff --git a/usr/src/uts/common/os/instance.c b/usr/src/uts/common/os/instance.c index 8fd596b00c..1e58309d8d 100644 --- a/usr/src/uts/common/os/instance.c +++ b/usr/src/uts/common/os/instance.c @@ -1321,6 +1321,7 @@ in_dq_drv(in_drv_t *mp) prev->ind_next_drv = ptr->ind_next_drv; return; } + prev = ptr; } panic("in_dq_drv: in_drv not found on node driver list"); } |