summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/mpt/mpt_raid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/mpt/mpt_raid.c b/sys/dev/mpt/mpt_raid.c
index 7448572..d51a0ee 100644
--- a/sys/dev/mpt/mpt_raid.c
+++ b/sys/dev/mpt/mpt_raid.c
@@ -1595,16 +1595,19 @@ mpt_raid_set_vol_queue_depth(struct mpt_softc *mpt, u_int vol_queue_depth)
mpt->raid_rescan = 0;
+ MPTLOCK_2_CAMLOCK(mpt);
error = xpt_create_path(&path, xpt_periph,
cam_sim_path(mpt->sim),
mpt_vol->config_page->VolumeID,
/*lun*/0);
if (error != CAM_REQ_CMP) {
+ CAMLOCK_2_MPTLOCK(mpt);
mpt_vol_prt(mpt, mpt_vol, "Unable to allocate path!\n");
continue;
}
mpt_adjust_queue_depth(mpt, mpt_vol, path);
xpt_free_path(path);
+ CAMLOCK_2_MPTLOCK(mpt);
}
MPT_UNLOCK(mpt);
return (0);
OpenPOWER on IntegriCloud