summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2010-02-04 08:54:14 +0000
committermav <mav@FreeBSD.org>2010-02-04 08:54:14 +0000
commitc9792e6e444e9d81e68f241097f11dcfb6906475 (patch)
treeef9ac13d7cb33be19870e6105cd4005c6ac70634
parent393450ca7b6226ab2ec1b9837777e0651d534a4e (diff)
downloadFreeBSD-src-c9792e6e444e9d81e68f241097f11dcfb6906475.zip
FreeBSD-src-c9792e6e444e9d81e68f241097f11dcfb6906475.tar.gz
Do not release device, when changing number of openings.
-rw-r--r--sys/dev/mpt/mpt_cam.c1
-rw-r--r--sys/dev/mpt/mpt_raid.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/mpt/mpt_cam.c b/sys/dev/mpt/mpt_cam.c
index 6e1dfa4..302030f 100644
--- a/sys/dev/mpt/mpt_cam.c
+++ b/sys/dev/mpt/mpt_cam.c
@@ -2558,6 +2558,7 @@ mpt_cam_event(struct mpt_softc *mpt, request_t *req,
}
xpt_setup_ccb(&crs.ccb_h, tmppath, 5);
crs.ccb_h.func_code = XPT_REL_SIMQ;
+ crs.ccb_h.flags = CAM_DEV_QFREEZE;
crs.release_flags = RELSIM_ADJUST_OPENINGS;
crs.openings = pqf->CurrentDepth - 1;
xpt_action((union ccb *)&crs);
diff --git a/sys/dev/mpt/mpt_raid.c b/sys/dev/mpt/mpt_raid.c
index d313253..7d075e3 100644
--- a/sys/dev/mpt/mpt_raid.c
+++ b/sys/dev/mpt/mpt_raid.c
@@ -1047,6 +1047,7 @@ mpt_adjust_queue_depth(struct mpt_softc *mpt, struct mpt_raid_volume *mpt_vol,
xpt_setup_ccb(&crs.ccb_h, path, /*priority*/5);
crs.ccb_h.func_code = XPT_REL_SIMQ;
+ crs.ccb_h.flags = CAM_DEV_QFREEZE;
crs.release_flags = RELSIM_ADJUST_OPENINGS;
crs.openings = mpt->raid_queue_depth;
xpt_action((union ccb *)&crs);
OpenPOWER on IntegriCloud