Lines Matching refs:sc
117 struct scsi_cmnd *sc = tl_cmd->sc; in tcm_loop_submission_work() local
125 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_submission_work()
126 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_submission_work()
133 set_host_byte(sc, DID_NO_CONNECT); in tcm_loop_submission_work()
137 set_host_byte(sc, DID_TRANSPORT_DISRUPTED); in tcm_loop_submission_work()
142 scmd_printk(KERN_ERR, sc, "TCM_Loop I_T Nexus" in tcm_loop_submission_work()
144 set_host_byte(sc, DID_ERROR); in tcm_loop_submission_work()
147 if (scsi_bidi_cmnd(sc)) { in tcm_loop_submission_work()
148 struct scsi_data_buffer *sdb = scsi_in(sc); in tcm_loop_submission_work()
156 transfer_length = scsi_transfer_length(sc); in tcm_loop_submission_work()
157 if (!scsi_prot_sg_count(sc) && in tcm_loop_submission_work()
158 scsi_get_prot_op(sc) != SCSI_PROT_NORMAL) { in tcm_loop_submission_work()
165 transfer_length = scsi_bufflen(sc); in tcm_loop_submission_work()
168 rc = target_submit_cmd_map_sgls(se_cmd, tl_nexus->se_sess, sc->cmnd, in tcm_loop_submission_work()
169 &tl_cmd->tl_sense_buf[0], tl_cmd->sc->device->lun, in tcm_loop_submission_work()
171 sc->sc_data_direction, 0, in tcm_loop_submission_work()
172 scsi_sglist(sc), scsi_sg_count(sc), in tcm_loop_submission_work()
174 scsi_prot_sglist(sc), scsi_prot_sg_count(sc)); in tcm_loop_submission_work()
176 set_host_byte(sc, DID_NO_CONNECT); in tcm_loop_submission_work()
183 sc->scsi_done(sc); in tcm_loop_submission_work()
191 static int tcm_loop_queuecommand(struct Scsi_Host *sh, struct scsi_cmnd *sc) in tcm_loop_queuecommand() argument
196 " scsi_buf_len: %u\n", sc->device->host->host_no, in tcm_loop_queuecommand()
197 sc->device->id, sc->device->channel, sc->device->lun, in tcm_loop_queuecommand()
198 sc->cmnd[0], scsi_bufflen(sc)); in tcm_loop_queuecommand()
203 set_host_byte(sc, DID_ERROR); in tcm_loop_queuecommand()
204 sc->scsi_done(sc); in tcm_loop_queuecommand()
208 tl_cmd->sc = sc; in tcm_loop_queuecommand()
209 tl_cmd->sc_cmd_tag = sc->request->tag; in tcm_loop_queuecommand()
297 static int tcm_loop_abort_task(struct scsi_cmnd *sc) in tcm_loop_abort_task() argument
306 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_abort_task()
307 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_abort_task()
308 ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun, in tcm_loop_abort_task()
309 sc->request->tag, TMR_ABORT_TASK); in tcm_loop_abort_task()
317 static int tcm_loop_device_reset(struct scsi_cmnd *sc) in tcm_loop_device_reset() argument
326 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_device_reset()
327 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_device_reset()
329 ret = tcm_loop_issue_tmr(tl_tpg, sc->device->lun, in tcm_loop_device_reset()
334 static int tcm_loop_target_reset(struct scsi_cmnd *sc) in tcm_loop_target_reset() argument
342 tl_hba = *(struct tcm_loop_hba **)shost_priv(sc->device->host); in tcm_loop_target_reset()
351 tl_tpg = &tl_hba->tl_hba_tpgs[sc->device->id]; in tcm_loop_target_reset()
795 struct scsi_cmnd *sc = tl_cmd->sc; in tcm_loop_queue_data_in() local
798 " cdb: 0x%02x\n", sc, sc->cmnd[0]); in tcm_loop_queue_data_in()
800 sc->result = SAM_STAT_GOOD; in tcm_loop_queue_data_in()
801 set_host_byte(sc, DID_OK); in tcm_loop_queue_data_in()
804 scsi_set_resid(sc, se_cmd->residual_count); in tcm_loop_queue_data_in()
805 sc->scsi_done(sc); in tcm_loop_queue_data_in()
813 struct scsi_cmnd *sc = tl_cmd->sc; in tcm_loop_queue_status() local
816 " cdb: 0x%02x\n", sc, sc->cmnd[0]); in tcm_loop_queue_status()
822 memcpy(sc->sense_buffer, se_cmd->sense_buffer, in tcm_loop_queue_status()
824 sc->result = SAM_STAT_CHECK_CONDITION; in tcm_loop_queue_status()
825 set_driver_byte(sc, DRIVER_SENSE); in tcm_loop_queue_status()
827 sc->result = se_cmd->scsi_status; in tcm_loop_queue_status()
829 set_host_byte(sc, DID_OK); in tcm_loop_queue_status()
832 scsi_set_resid(sc, se_cmd->residual_count); in tcm_loop_queue_status()
833 sc->scsi_done(sc); in tcm_loop_queue_status()