Lines Matching refs:sc

185 	struct scsi_cmnd *cmd = task->sc;  in iscsi_prep_ecdb_ahs()
222 struct scsi_cmnd *sc = task->sc; in iscsi_prep_bidi_ahs() local
236 rlen_ahdr->read_length = cpu_to_be32(scsi_in(sc)->length); in iscsi_prep_bidi_ahs()
277 if (hdr_lun != task->sc->device->lun) in iscsi_check_tmf_restrictions()
339 struct scsi_cmnd *sc = task->sc; in iscsi_prep_scsi_cmd_pdu() local
369 int_to_scsilun(sc->device->lun, &hdr->lun); in iscsi_prep_scsi_cmd_pdu()
372 cmd_len = sc->cmd_len; in iscsi_prep_scsi_cmd_pdu()
381 memcpy(hdr->cdb, sc->cmnd, cmd_len); in iscsi_prep_scsi_cmd_pdu()
384 if (scsi_bidi_cmnd(sc)) { in iscsi_prep_scsi_cmd_pdu()
391 if (scsi_get_prot_op(sc) != SCSI_PROT_NORMAL) in iscsi_prep_scsi_cmd_pdu()
394 transfer_length = scsi_transfer_length(sc); in iscsi_prep_scsi_cmd_pdu()
396 if (sc->sc_data_direction == DMA_TO_DEVICE) { in iscsi_prep_scsi_cmd_pdu()
443 if (sc->sc_data_direction == DMA_FROM_DEVICE) in iscsi_prep_scsi_cmd_pdu()
466 scsi_bidi_cmnd(sc) ? "bidirectional" : in iscsi_prep_scsi_cmd_pdu()
467 sc->sc_data_direction == DMA_TO_DEVICE ? in iscsi_prep_scsi_cmd_pdu()
468 "write" : "read", conn->id, sc, sc->cmnd[0], in iscsi_prep_scsi_cmd_pdu()
470 scsi_bidi_cmnd(sc) ? scsi_in(sc)->length : 0, in iscsi_prep_scsi_cmd_pdu()
488 struct scsi_cmnd *sc = task->sc; in iscsi_free_task() local
492 task->itt, task->state, task->sc); in iscsi_free_task()
496 task->sc = NULL; in iscsi_free_task()
505 if (sc) { in iscsi_free_task()
507 sc->SCp.ptr = NULL; in iscsi_free_task()
513 sc->scsi_done(sc); in iscsi_free_task()
554 task->itt, task->state, task->sc); in iscsi_complete_task()
609 struct scsi_cmnd *sc; in fail_scsi_task() local
617 sc = task->sc; in fail_scsi_task()
618 if (!sc) in fail_scsi_task()
634 sc->result = err << 16; in fail_scsi_task()
635 if (!scsi_bidi_cmnd(sc)) in fail_scsi_task()
636 scsi_set_resid(sc, scsi_bufflen(sc)); in fail_scsi_task()
638 scsi_out(sc)->resid = scsi_out(sc)->length; in fail_scsi_task()
639 scsi_in(sc)->resid = scsi_in(sc)->length; in fail_scsi_task()
749 task->sc = NULL; in __iscsi_conn_send_pdu()
832 struct scsi_cmnd *sc = task->sc; in iscsi_scsi_cmd_rsp() local
837 sc->result = (DID_OK << 16) | rhdr->cmd_status; in iscsi_scsi_cmd_rsp()
852 sc->result = DRIVER_SENSE << 24 | in iscsi_scsi_cmd_rsp()
854 scsi_build_sense_buffer(1, sc->sense_buffer, in iscsi_scsi_cmd_rsp()
856 sc->sense_buffer[7] = 0xc; /* Additional sense length */ in iscsi_scsi_cmd_rsp()
857 sc->sense_buffer[8] = 0; /* Information desc type */ in iscsi_scsi_cmd_rsp()
858 sc->sense_buffer[9] = 0xa; /* Additional desc length */ in iscsi_scsi_cmd_rsp()
859 sc->sense_buffer[10] = 0x80; /* Validity bit */ in iscsi_scsi_cmd_rsp()
861 put_unaligned_be64(sector, &sc->sense_buffer[12]); in iscsi_scsi_cmd_rsp()
867 sc->result = DID_ERROR << 16; in iscsi_scsi_cmd_rsp()
879 sc->result = DID_BAD_TARGET << 16; in iscsi_scsi_cmd_rsp()
887 memcpy(sc->sense_buffer, data + 2, in iscsi_scsi_cmd_rsp()
898 if (scsi_bidi_cmnd(sc) && res_count > 0 && in iscsi_scsi_cmd_rsp()
900 res_count <= scsi_in(sc)->length)) in iscsi_scsi_cmd_rsp()
901 scsi_in(sc)->resid = res_count; in iscsi_scsi_cmd_rsp()
903 sc->result = (DID_BAD_TARGET << 16) | rhdr->cmd_status; in iscsi_scsi_cmd_rsp()
912 res_count <= scsi_bufflen(sc))) in iscsi_scsi_cmd_rsp()
914 scsi_set_resid(sc, res_count); in iscsi_scsi_cmd_rsp()
916 sc->result = (DID_BAD_TARGET << 16) | rhdr->cmd_status; in iscsi_scsi_cmd_rsp()
920 sc, sc->result, task->itt); in iscsi_scsi_cmd_rsp()
936 struct scsi_cmnd *sc = task->sc; in iscsi_data_in_rsp() local
942 sc->result = (DID_OK << 16) | rhdr->cmd_status; in iscsi_data_in_rsp()
950 res_count <= scsi_in(sc)->length)) in iscsi_data_in_rsp()
951 scsi_in(sc)->resid = res_count; in iscsi_data_in_rsp()
953 sc->result = (DID_BAD_TARGET << 16) | rhdr->cmd_status; in iscsi_data_in_rsp()
958 sc, sc->result, task->itt); in iscsi_data_in_rsp()
1356 if (!task || !task->sc) in iscsi_itt_to_ctask()
1359 if (task->sc->SCp.phase != conn->session->age) { in iscsi_itt_to_ctask()
1362 task->sc->SCp.phase, conn->session->age); in iscsi_itt_to_ctask()
1608 struct scsi_cmnd *sc) in iscsi_alloc_task() argument
1616 sc->SCp.phase = conn->session->age; in iscsi_alloc_task()
1617 sc->SCp.ptr = (char *) task; in iscsi_alloc_task()
1622 task->sc = sc; in iscsi_alloc_task()
1644 int iscsi_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *sc) in iscsi_queuecommand() argument
1653 sc->result = 0; in iscsi_queuecommand()
1654 sc->SCp.ptr = NULL; in iscsi_queuecommand()
1658 cls_session = starget_to_session(scsi_target(sc->device)); in iscsi_queuecommand()
1664 sc->result = reason; in iscsi_queuecommand()
1679 sc->result = DID_IMM_RETRY << 16; in iscsi_queuecommand()
1683 sc->result = DID_IMM_RETRY << 16; in iscsi_queuecommand()
1687 sc->result = DID_TRANSPORT_FAILFAST << 16; in iscsi_queuecommand()
1691 sc->result = DID_NO_CONNECT << 16; in iscsi_queuecommand()
1695 sc->result = DID_NO_CONNECT << 16; in iscsi_queuecommand()
1703 sc->result = DID_NO_CONNECT << 16; in iscsi_queuecommand()
1709 sc->result = DID_REQUEUE; in iscsi_queuecommand()
1718 task = iscsi_alloc_task(conn, sc); in iscsi_queuecommand()
1731 sc->result = DID_ABORT << 16; in iscsi_queuecommand()
1754 sc->cmnd[0], reason); in iscsi_queuecommand()
1762 sc->cmnd[0], reason); in iscsi_queuecommand()
1763 if (!scsi_bidi_cmnd(sc)) in iscsi_queuecommand()
1764 scsi_set_resid(sc, scsi_bufflen(sc)); in iscsi_queuecommand()
1766 scsi_out(sc)->resid = scsi_out(sc)->length; in iscsi_queuecommand()
1767 scsi_in(sc)->resid = scsi_in(sc)->length; in iscsi_queuecommand()
1769 sc->scsi_done(sc); in iscsi_queuecommand()
1860 if (!task->sc || task->state == ISCSI_TASK_FREE) in fail_scsi_tasks()
1863 if (lun != -1 && lun != task->sc->device->lun) in fail_scsi_tasks()
1868 task->sc, task->itt, task->state); in fail_scsi_tasks()
1933 static enum blk_eh_timer_return iscsi_eh_cmd_timed_out(struct scsi_cmnd *sc) in iscsi_eh_cmd_timed_out() argument
1942 cls_session = starget_to_session(scsi_target(sc->device)); in iscsi_eh_cmd_timed_out()
1945 ISCSI_DBG_EH(session, "scsi cmd %p timedout\n", sc); in iscsi_eh_cmd_timed_out()
1948 task = (struct iscsi_task *)sc->SCp.ptr; in iscsi_eh_cmd_timed_out()
2004 if (!running_task->sc || running_task == task || in iscsi_eh_cmd_timed_out()
2012 if (time_after(running_task->sc->jiffies_at_alloc, in iscsi_eh_cmd_timed_out()
2013 task->sc->jiffies_at_alloc)) in iscsi_eh_cmd_timed_out()
2121 int iscsi_eh_abort(struct scsi_cmnd *sc) in iscsi_eh_abort() argument
2130 cls_session = starget_to_session(scsi_target(sc->device)); in iscsi_eh_abort()
2133 ISCSI_DBG_EH(session, "aborting sc %p\n", sc); in iscsi_eh_abort()
2141 if (!sc->SCp.ptr) { in iscsi_eh_abort()
2154 sc->SCp.phase != session->age) { in iscsi_eh_abort()
2166 task = (struct iscsi_task *)sc->SCp.ptr; in iscsi_eh_abort()
2168 sc, task->itt); in iscsi_eh_abort()
2171 if (!task->sc) { in iscsi_eh_abort()
2219 if (!sc->SCp.ptr) { in iscsi_eh_abort()
2237 sc, task->itt); in iscsi_eh_abort()
2244 ISCSI_DBG_EH(session, "abort failed [sc %p itt 0x%x]\n", sc, in iscsi_eh_abort()
2251 static void iscsi_prep_lun_reset_pdu(struct scsi_cmnd *sc, struct iscsi_tm *hdr) in iscsi_prep_lun_reset_pdu() argument
2257 int_to_scsilun(sc->device->lun, &hdr->lun); in iscsi_prep_lun_reset_pdu()
2261 int iscsi_eh_device_reset(struct scsi_cmnd *sc) in iscsi_eh_device_reset() argument
2269 cls_session = starget_to_session(scsi_target(sc->device)); in iscsi_eh_device_reset()
2272 ISCSI_DBG_EH(session, "LU Reset [sc %p lun %llu]\n", sc, in iscsi_eh_device_reset()
2273 sc->device->lun); in iscsi_eh_device_reset()
2291 iscsi_prep_lun_reset_pdu(sc, hdr); in iscsi_eh_device_reset()
2318 fail_scsi_tasks(conn, sc->device->lun, DID_ERROR); in iscsi_eh_device_reset()
2356 int iscsi_eh_session_reset(struct scsi_cmnd *sc) in iscsi_eh_session_reset() argument
2362 cls_session = starget_to_session(scsi_target(sc->device)); in iscsi_eh_session_reset()
2409 static void iscsi_prep_tgt_reset_pdu(struct scsi_cmnd *sc, struct iscsi_tm *hdr) in iscsi_prep_tgt_reset_pdu() argument
2424 int iscsi_eh_target_reset(struct scsi_cmnd *sc) in iscsi_eh_target_reset() argument
2432 cls_session = starget_to_session(scsi_target(sc->device)); in iscsi_eh_target_reset()
2435 ISCSI_DBG_EH(session, "tgt Reset [sc %p tgt %s]\n", sc, in iscsi_eh_target_reset()
2454 iscsi_prep_tgt_reset_pdu(sc, hdr); in iscsi_eh_target_reset()
2505 int iscsi_eh_recover_target(struct scsi_cmnd *sc) in iscsi_eh_recover_target() argument
2509 rc = iscsi_eh_target_reset(sc); in iscsi_eh_recover_target()
2511 rc = iscsi_eh_session_reset(sc); in iscsi_eh_recover_target()
3057 if (task->sc) in fail_mgmt_tasks()