Lines Matching refs:sc

89 static void	mptscsih_report_queue_full(struct scsi_cmnd *sc, SCSIIOReply_t *pScsiReply, SCSIIOReque…
95 static void mptscsih_copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR *mf, SC…
436 mptscsih_info_scsiio(MPT_ADAPTER *ioc, struct scsi_cmnd *sc, SCSIIOReply_t * pScsiReply) in mptscsih_info_scsiio() argument
538 scsi_print_command(sc); in mptscsih_info_scsiio()
540 ioc->name, pScsiReply->Bus, pScsiReply->TargetID, sc->device->lun); in mptscsih_info_scsiio()
542 "resid = %d\n", ioc->name, scsi_bufflen(sc), sc->underflow, in mptscsih_info_scsiio()
543 scsi_get_resid(sc)); in mptscsih_info_scsiio()
546 le32_to_cpu(pScsiReply->TransferCount), sc->result); in mptscsih_info_scsiio()
554 skey = sc->sense_buffer[2] & 0x0F; in mptscsih_info_scsiio()
555 asc = sc->sense_buffer[12]; in mptscsih_info_scsiio()
556 ascq = sc->sense_buffer[13]; in mptscsih_info_scsiio()
590 struct scsi_cmnd *sc; in mptscsih_io_done() local
611 sc = mptscsih_getclear_scsi_lookup(ioc, req_idx); in mptscsih_io_done()
612 if (sc == NULL) { in mptscsih_io_done()
627 if ((unsigned char *)mf != sc->host_scribble) { in mptscsih_io_done()
633 VirtDevice *vdevice = sc->device->hostdata; in mptscsih_io_done()
637 sc->result = DID_NO_CONNECT << 16; in mptscsih_io_done()
642 sc->host_scribble = NULL; in mptscsih_io_done()
643 sc->result = DID_OK << 16; /* Set default reply as OK */ in mptscsih_io_done()
650 ioc->name, mf, mr, sc, req_idx, pScsiReply->TaskTag)); in mptscsih_io_done()
654 ioc->name, mf, mr, sc, req_idx)); in mptscsih_io_done()
671 scsi_set_resid(sc, scsi_bufflen(sc) - xfer_cnt); in mptscsih_io_done()
688 mptscsih_copy_sense_data(sc, hd, mf, pScsiReply); in mptscsih_io_done()
697 sc->device->host->host_no, sc->device->channel, in mptscsih_io_done()
698 sc->device->id, sc->device->lun, in mptscsih_io_done()
710 sc->result = SAM_STAT_BUSY; in mptscsih_io_done()
715 sc->result = DID_BAD_TARGET << 16; in mptscsih_io_done()
721 sc->result = DID_NO_CONNECT << 16; in mptscsih_io_done()
724 sc->result = DID_REQUEUE << 16; in mptscsih_io_done()
729 vdevice = sc->device->hostdata; in mptscsih_io_done()
750 sc->device->hostdata; in mptscsih_io_done()
768 sc->result = in mptscsih_io_done()
782 sc->result = DID_ERROR << 16; in mptscsih_io_done()
794 sc->result = DID_RESET << 16; in mptscsih_io_done()
799 sc->result = DID_ERROR << 16; in mptscsih_io_done()
801 sc->result = DID_RESET << 16; in mptscsih_io_done()
805 scsi_set_resid(sc, scsi_bufflen(sc) - xfer_cnt); in mptscsih_io_done()
806 if((xfer_cnt==0)||(sc->underflow > xfer_cnt)) in mptscsih_io_done()
807 sc->result=DID_SOFT_ERROR << 16; in mptscsih_io_done()
809 sc->result = (DID_OK << 16) | scsi_status; in mptscsih_io_done()
812 ioc->name, sc->result, sc->device->channel, sc->device->id)); in mptscsih_io_done()
820 sc->result = (DID_OK << 16) | scsi_status; in mptscsih_io_done()
838 if (scsi_bufflen(sc) != in mptscsih_io_done()
840 sc->result = in mptscsih_io_done()
846 scsi_bufflen(sc), in mptscsih_io_done()
852 if (xfer_cnt < sc->underflow) { in mptscsih_io_done()
854 sc->result = SAM_STAT_BUSY; in mptscsih_io_done()
856 sc->result = DID_SOFT_ERROR << 16; in mptscsih_io_done()
861 sc->result = DID_SOFT_ERROR << 16; in mptscsih_io_done()
865 sc->result = DID_RESET << 16; in mptscsih_io_done()
872 ioc->name, sc->underflow)); in mptscsih_io_done()
879 mptscsih_report_queue_full(sc, pScsiReply, pScsiReq); in mptscsih_io_done()
884 scsi_set_resid(sc, 0); in mptscsih_io_done()
887 sc->result = (DID_OK << 16) | scsi_status; in mptscsih_io_done()
902 (sc->sense_buffer[2] & 0x20)) { in mptscsih_io_done()
905 sc->sense_buffer[3] << 24 | in mptscsih_io_done()
906 sc->sense_buffer[4] << 16 | in mptscsih_io_done()
907 sc->sense_buffer[5] << 8 | in mptscsih_io_done()
908 sc->sense_buffer[6]; in mptscsih_io_done()
909 if (((sc->sense_buffer[3] & 0x80) == in mptscsih_io_done()
910 0x80) && (scsi_bufflen(sc) in mptscsih_io_done()
912 sc->sense_buffer[2] = in mptscsih_io_done()
914 sc->sense_buffer[12] = 0xff; in mptscsih_io_done()
915 sc->sense_buffer[13] = 0xff; in mptscsih_io_done()
920 scsi_bufflen(sc), in mptscsih_io_done()
923 if (((sc->sense_buffer[3] & 0x80) in mptscsih_io_done()
925 (scsi_bufflen(sc) != in mptscsih_io_done()
927 sc->sense_buffer[2] = in mptscsih_io_done()
929 sc->sense_buffer[12] = 0xff; in mptscsih_io_done()
930 sc->sense_buffer[13] = 0xff; in mptscsih_io_done()
936 scsi_bufflen(sc), in mptscsih_io_done()
949 mptscsih_report_queue_full(sc, pScsiReply, pScsiReq); in mptscsih_io_done()
958 sc->result = DID_SOFT_ERROR << 16; in mptscsih_io_done()
962 sc->result = DID_RESET << 16; in mptscsih_io_done()
972 if (sc->result == MPI_SCSI_STATUS_TASK_SET_FULL) in mptscsih_io_done()
973 mptscsih_report_queue_full(sc, pScsiReply, pScsiReq); in mptscsih_io_done()
982 sc->result = DID_SOFT_ERROR << 16; in mptscsih_io_done()
997 sc->result = DID_SOFT_ERROR << 16; in mptscsih_io_done()
1003 if (sc->result && (ioc->debug_level & MPT_DEBUG_REPLY)) in mptscsih_io_done()
1004 mptscsih_info_scsiio(ioc, sc, pScsiReply); in mptscsih_io_done()
1010 scsi_dma_unmap(sc); in mptscsih_io_done()
1012 sc->scsi_done(sc); /* Issue the command callback */ in mptscsih_io_done()
1033 struct scsi_cmnd *sc; in mptscsih_flush_running_cmds() local
1039 sc = mptscsih_getclear_scsi_lookup(ioc, ii); in mptscsih_flush_running_cmds()
1040 if (!sc) in mptscsih_flush_running_cmds()
1049 if ((unsigned char *)mf != sc->host_scribble) in mptscsih_flush_running_cmds()
1051 scsi_dma_unmap(sc); in mptscsih_flush_running_cmds()
1052 sc->result = DID_RESET << 16; in mptscsih_flush_running_cmds()
1053 sc->host_scribble = NULL; in mptscsih_flush_running_cmds()
1054 dtmprintk(ioc, sdev_printk(KERN_INFO, sc->device, MYIOC_s_FMT in mptscsih_flush_running_cmds()
1056 "idx=%x\n", ioc->name, channel, id, sc, mf, ii)); in mptscsih_flush_running_cmds()
1057 sc->scsi_done(sc); in mptscsih_flush_running_cmds()
1081 struct scsi_cmnd *sc; in mptscsih_search_running_cmds() local
1088 if ((sc = ioc->ScsiLookup[ii]) != NULL) { in mptscsih_search_running_cmds()
1107 if ((unsigned char *)mf != sc->host_scribble) in mptscsih_search_running_cmds()
1113 scsi_dma_unmap(sc); in mptscsih_search_running_cmds()
1114 sc->host_scribble = NULL; in mptscsih_search_running_cmds()
1115 sc->result = DID_NO_CONNECT << 16; in mptscsih_search_running_cmds()
1116 dtmprintk(ioc, sdev_printk(KERN_INFO, sc->device, in mptscsih_search_running_cmds()
1120 sc, mf, ii)); in mptscsih_search_running_cmds()
1121 sc->scsi_done(sc); in mptscsih_search_running_cmds()
1144 mptscsih_report_queue_full(struct scsi_cmnd *sc, SCSIIOReply_t *pScsiReply, SCSIIORequest_t *pScsiR… in mptscsih_report_queue_full() argument
1150 if (sc->device == NULL) in mptscsih_report_queue_full()
1152 if (sc->device->host == NULL) in mptscsih_report_queue_full()
1154 if ((hd = shost_priv(sc->device->host)) == NULL) in mptscsih_report_queue_full()
1159 ioc->name, 0, sc->device->id, sc->device->lun)); in mptscsih_report_queue_full()
2411 mptscsih_copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR *mf, SCSIIOReply_t … in mptscsih_copy_sense_data() argument
2421 vdevice = sc->device->hostdata; in mptscsih_copy_sense_data()
2430 memcpy(sc->sense_buffer, sense_data, SNS_LEN(sc)); in mptscsih_copy_sense_data()
2444 (sc->device->channel << 8) | sc->device->id; in mptscsih_copy_sense_data()
2531 SCPNT_TO_LOOKUP_IDX(MPT_ADAPTER *ioc, struct scsi_cmnd *sc) in SCPNT_TO_LOOKUP_IDX() argument
2538 if (ioc->ScsiLookup[i] == sc) { in SCPNT_TO_LOOKUP_IDX()