Lines Matching refs:srb
125 #define SCSI_LUN(srb) ((srb)->device->lun) argument
793 static inline int working_scsi(struct scsi_cmnd *srb) in working_scsi() argument
795 if ((srb->cmnd[0] == TEST_UNIT_READY) || in working_scsi()
796 (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL)) { in working_scsi()
803 static void rts51x_invoke_transport(struct scsi_cmnd *srb, struct us_data *us) in rts51x_invoke_transport() argument
815 if (working_scsi(srb)) { in rts51x_invoke_transport()
826 chip->proto_handler_backup(srb, us); in rts51x_invoke_transport()
830 if ((srb->cmnd[0] == TEST_UNIT_READY) && in rts51x_invoke_transport()
832 if (TST_LUN_READY(chip, srb->device->lun)) { in rts51x_invoke_transport()
833 srb->result = SAM_STAT_GOOD; in rts51x_invoke_transport()
835 srb->result = SAM_STAT_CHECK_CONDITION; in rts51x_invoke_transport()
836 memcpy(srb->sense_buffer, in rts51x_invoke_transport()
843 if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) { in rts51x_invoke_transport()
844 int prevent = srb->cmnd[4] & 0x1; in rts51x_invoke_transport()
846 srb->result = SAM_STAT_CHECK_CONDITION; in rts51x_invoke_transport()
847 memcpy(srb->sense_buffer, in rts51x_invoke_transport()
851 srb->result = SAM_STAT_GOOD; in rts51x_invoke_transport()
858 chip->proto_handler_backup(srb, us); in rts51x_invoke_transport()
860 if (srb->cmnd[0] == TEST_UNIT_READY) { in rts51x_invoke_transport()
861 if (srb->result == SAM_STAT_GOOD) { in rts51x_invoke_transport()
862 SET_LUN_READY(chip, srb->device->lun); in rts51x_invoke_transport()
868 CLR_LUN_READY(chip, srb->device->lun); in rts51x_invoke_transport()