Lines Matching refs:sc

113 	struct scsi_cmnd *sc = tl_cmd->sc;  in tcm_loop_submission_work()  local
121 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_submission_work()
122 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_submission_work()
129 set_host_byte(sc, DID_NO_CONNECT); in tcm_loop_submission_work()
133 set_host_byte(sc, DID_TRANSPORT_DISRUPTED); in tcm_loop_submission_work()
138 scmd_printk(KERN_ERR, sc, "TCM_Loop I_T Nexus" in tcm_loop_submission_work()
140 set_host_byte(sc, DID_ERROR); in tcm_loop_submission_work()
143 if (scsi_bidi_cmnd(sc)) { in tcm_loop_submission_work()
144 struct scsi_data_buffer *sdb = scsi_in(sc); in tcm_loop_submission_work()
152 transfer_length = scsi_transfer_length(sc); in tcm_loop_submission_work()
153 if (!scsi_prot_sg_count(sc) && in tcm_loop_submission_work()
154 scsi_get_prot_op(sc) != SCSI_PROT_NORMAL) { in tcm_loop_submission_work()
161 transfer_length = scsi_bufflen(sc); in tcm_loop_submission_work()
165 rc = target_submit_cmd_map_sgls(se_cmd, tl_nexus->se_sess, sc->cmnd, in tcm_loop_submission_work()
166 &tl_cmd->tl_sense_buf[0], tl_cmd->sc->device->lun, in tcm_loop_submission_work()
168 sc->sc_data_direction, 0, in tcm_loop_submission_work()
169 scsi_sglist(sc), scsi_sg_count(sc), in tcm_loop_submission_work()
171 scsi_prot_sglist(sc), scsi_prot_sg_count(sc)); in tcm_loop_submission_work()
173 set_host_byte(sc, DID_NO_CONNECT); in tcm_loop_submission_work()
180 sc->scsi_done(sc); in tcm_loop_submission_work()
188 static int tcm_loop_queuecommand(struct Scsi_Host *sh, struct scsi_cmnd *sc) in tcm_loop_queuecommand() argument
193 " scsi_buf_len: %u\n", sc->device->host->host_no, in tcm_loop_queuecommand()
194 sc->device->id, sc->device->channel, sc->device->lun, in tcm_loop_queuecommand()
195 sc->cmnd[0], scsi_bufflen(sc)); in tcm_loop_queuecommand()
200 set_host_byte(sc, DID_ERROR); in tcm_loop_queuecommand()
201 sc->scsi_done(sc); in tcm_loop_queuecommand()
205 tl_cmd->sc = sc; in tcm_loop_queuecommand()
206 tl_cmd->sc_cmd_tag = sc->request->tag; in tcm_loop_queuecommand()
294 static int tcm_loop_abort_task(struct scsi_cmnd *sc) in tcm_loop_abort_task() argument
303 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_abort_task()
304 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_abort_task()
305 ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun, in tcm_loop_abort_task()
306 sc->request->tag, TMR_ABORT_TASK); in tcm_loop_abort_task()
314 static int tcm_loop_device_reset(struct scsi_cmnd *sc) in tcm_loop_device_reset() argument
323 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_device_reset()
324 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_device_reset()
326 ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun, in tcm_loop_device_reset()
331 static int tcm_loop_target_reset(struct scsi_cmnd *sc) in tcm_loop_target_reset() argument
339 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_target_reset()
348 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_target_reset()
638 struct scsi_cmnd *sc = tl_cmd->sc; in tcm_loop_queue_data_in() local
641 " cdb: 0x%02x\n", sc, sc->cmnd[0]); in tcm_loop_queue_data_in()
643 sc->result = SAM_STAT_GOOD; in tcm_loop_queue_data_in()
644 set_host_byte(sc, DID_OK); in tcm_loop_queue_data_in()
647 scsi_set_resid(sc, se_cmd->residual_count); in tcm_loop_queue_data_in()
648 sc->scsi_done(sc); in tcm_loop_queue_data_in()
656 struct scsi_cmnd *sc = tl_cmd->sc; in tcm_loop_queue_status() local
659 " cdb: 0x%02x\n", sc, sc->cmnd[0]); in tcm_loop_queue_status()
665 memcpy(sc->sense_buffer, se_cmd->sense_buffer, in tcm_loop_queue_status()
667 sc->result = SAM_STAT_CHECK_CONDITION; in tcm_loop_queue_status()
668 set_driver_byte(sc, DRIVER_SENSE); in tcm_loop_queue_status()
670 sc->result = se_cmd->scsi_status; in tcm_loop_queue_status()
672 set_host_byte(sc, DID_OK); in tcm_loop_queue_status()
675 scsi_set_resid(sc, se_cmd->residual_count); in tcm_loop_queue_status()
676 sc->scsi_done(sc); in tcm_loop_queue_status()