Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mpt/mpt_cam.c
Show First 20 Lines • Show All 2,442 Lines • ▼ Show 20 Lines | case MPI_EVENT_QUEUE_FULL: | ||||
} | } | ||||
for (lun_id = 0; lun_id < MPT_MAX_LUNS; lun_id++) { | for (lun_id = 0; lun_id < MPT_MAX_LUNS; lun_id++) { | ||||
if (xpt_create_path(&tmppath, NULL, cam_sim_path(sim), | if (xpt_create_path(&tmppath, NULL, cam_sim_path(sim), | ||||
pqf->TargetID, lun_id) != CAM_REQ_CMP) { | pqf->TargetID, lun_id) != CAM_REQ_CMP) { | ||||
mpt_prt(mpt, "unable to create a path to send " | mpt_prt(mpt, "unable to create a path to send " | ||||
"XPT_REL_SIMQ"); | "XPT_REL_SIMQ"); | ||||
break; | break; | ||||
} | } | ||||
memset(&crs, 0, sizeof(crs)); | |||||
xpt_setup_ccb(&crs.ccb_h, tmppath, 5); | xpt_setup_ccb(&crs.ccb_h, tmppath, 5); | ||||
crs.ccb_h.func_code = XPT_REL_SIMQ; | crs.ccb_h.func_code = XPT_REL_SIMQ; | ||||
crs.ccb_h.flags = CAM_DEV_QFREEZE; | crs.ccb_h.flags = CAM_DEV_QFREEZE; | ||||
crs.release_flags = RELSIM_ADJUST_OPENINGS; | crs.release_flags = RELSIM_ADJUST_OPENINGS; | ||||
crs.openings = pqf->CurrentDepth - 1; | crs.openings = pqf->CurrentDepth - 1; | ||||
xpt_action((union ccb *)&crs); | xpt_action((union ccb *)&crs); | ||||
if (crs.ccb_h.status != CAM_REQ_CMP) { | if (crs.ccb_h.status != CAM_REQ_CMP) { | ||||
mpt_prt(mpt, "XPT_REL_SIMQ failed\n"); | mpt_prt(mpt, "XPT_REL_SIMQ failed\n"); | ||||
▲ Show 20 Lines • Show All 2,880 Lines • Show Last 20 Lines |