summaryrefslogtreecommitdiff
path: root/sys/dev/isp
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2007-05-13 17:45:00 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2007-05-13 17:45:00 +0000
commitabeda21e8d1cca7d87a41d4881091a61374872f6 (patch)
treee6e4e61851f31b351e602f6cd2531598cdd153f6 /sys/dev/isp
parent78cfb6a09cdd44193d990c521eb25a0c3aa185eb (diff)
Notes
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp_freebsd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c
index 8e5642f16373..89f45aa472b8 100644
--- a/sys/dev/isp/isp_freebsd.c
+++ b/sys/dev/isp/isp_freebsd.c
@@ -146,12 +146,15 @@ isp_attach(ispsoftc_t *isp)
isp->isp_osinfo.ehook.ich_func = isp_intr_enable;
isp->isp_osinfo.ehook.ich_arg = isp;
+ ISP_UNLOCK(isp);
if (config_intrhook_establish(&isp->isp_osinfo.ehook) != 0) {
+ ISP_LOCK(isp);
cam_sim_free(sim, TRUE);
isp_prt(isp, ISP_LOGERR,
"could not establish interrupt enable hook");
return;
}
+ ISP_LOCK(isp);
if (xpt_bus_register(sim, primary) != CAM_SUCCESS) {
cam_sim_free(sim, TRUE);