Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mps/mps_sas.c
Show First 20 Lines • Show All 1,833 Lines • ▼ Show 20 Lines | mpssas_action_scsiio(struct mpssas_softc *sassc, union ccb *ccb) | ||||
if (sc->WD_valid_config) { | if (sc->WD_valid_config) { | ||||
if (ccb->ccb_h.sim_priv.entries[0].field == MPS_WD_RETRY) { | if (ccb->ccb_h.sim_priv.entries[0].field == MPS_WD_RETRY) { | ||||
mpssas_direct_drive_io(sassc, cm, ccb); | mpssas_direct_drive_io(sassc, cm, ccb); | ||||
} else { | } else { | ||||
mpssas_set_ccbstatus(ccb, CAM_REQ_INPROG); | mpssas_set_ccbstatus(ccb, CAM_REQ_INPROG); | ||||
} | } | ||||
} | } | ||||
callout_reset(&cm->cm_callout, (ccb->ccb_h.timeout * hz) / 1000, | callout_reset_sbt(&cm->cm_callout, SBT_1MS * ccb->ccb_h.timeout, 0, | ||||
mpssas_scsiio_timeout, cm); | mpssas_scsiio_timeout, cm, 0); | ||||
targ->issued++; | targ->issued++; | ||||
targ->outstanding++; | targ->outstanding++; | ||||
TAILQ_INSERT_TAIL(&targ->commands, cm, cm_link); | TAILQ_INSERT_TAIL(&targ->commands, cm, cm_link); | ||||
ccb->ccb_h.status |= CAM_SIM_QUEUED; | ccb->ccb_h.status |= CAM_SIM_QUEUED; | ||||
mpssas_log_command(cm, MPS_XINFO, "%s cm %p ccb %p outstanding %u\n", | mpssas_log_command(cm, MPS_XINFO, "%s cm %p ccb %p outstanding %u\n", | ||||
__func__, cm, ccb, targ->outstanding); | __func__, cm, ccb, targ->outstanding); | ||||
▲ Show 20 Lines • Show All 1,778 Lines • Show Last 20 Lines |