summaryrefslogtreecommitdiffstats
path: root/sys/dev/vr
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2000-12-04 22:46:50 +0000
committerwpaul <wpaul@FreeBSD.org>2000-12-04 22:46:50 +0000
commit9e208c7442e565fc1de970045410945e52702467 (patch)
tree3933565b0c0070018517c21c29b3ccc39d115ccb /sys/dev/vr
parente01a4c0fd9aff88ae8d9b70d8f82aaf56c9c9116 (diff)
downloadFreeBSD-src-9e208c7442e565fc1de970045410945e52702467.zip
FreeBSD-src-9e208c7442e565fc1de970045410945e52702467.tar.gz
Initialize/grab the mutex earlier in the attach phase, so that
bailing out to the fail: label where we release/destroy the mutex will work without exploding.
Diffstat (limited to 'sys/dev/vr')
-rw-r--r--sys/dev/vr/if_vr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/vr/if_vr.c b/sys/dev/vr/if_vr.c
index 38677fd..a1fa0c0 100644
--- a/sys/dev/vr/if_vr.c
+++ b/sys/dev/vr/if_vr.c
@@ -643,6 +643,9 @@ static int vr_attach(dev)
unit = device_get_unit(dev);
bzero(sc, sizeof(struct vr_softc *));
+ mtx_init(&sc->vr_mtx, device_get_nameunit(dev), MTX_DEF);
+ VR_LOCK(sc);
+
/*
* Handle power management nonsense.
*/
@@ -728,8 +731,6 @@ static int vr_attach(dev)
goto fail;
}
- mtx_init(&sc->vr_mtx, device_get_nameunit(dev), MTX_DEF);
- VR_LOCK(sc);
/* Reset the adapter. */
vr_reset(sc);
OpenPOWER on IntegriCloud