Lines Matching refs:scmd

650 	struct scsi_cmnd *scmd = qc->scsicmd;  in ata_qc_set_pc_nbytes()  local
652 qc->extrabytes = scmd->extra_len; in ata_qc_set_pc_nbytes()
653 qc->nbytes = scsi_bufflen(scmd) + qc->extrabytes; in ata_qc_set_pc_nbytes()
1170 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_start_stop_xlat() local
1172 const u8 *cdb = scmd->cmnd; in ata_scsi_start_stop_xlat()
1176 if (scmd->cmd_len < 5) { in ata_scsi_start_stop_xlat()
1241 ata_scsi_set_invalid_field(qc->dev, scmd, fp, bp); in ata_scsi_start_stop_xlat()
1244 scmd->result = SAM_STAT_GOOD; in ata_scsi_start_stop_xlat()
1385 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_verify_xlat() local
1389 const u8 *cdb = scmd->cmnd; in ata_scsi_verify_xlat()
1398 if (scmd->cmd_len < 10) { in ata_scsi_verify_xlat()
1404 if (scmd->cmd_len < 16) { in ata_scsi_verify_xlat()
1486 ata_scsi_set_invalid_field(qc->dev, scmd, fp, 0xff); in ata_scsi_verify_xlat()
1490 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x21, 0x0); in ata_scsi_verify_xlat()
1495 scmd->result = SAM_STAT_GOOD; in ata_scsi_verify_xlat()
1499 static bool ata_check_nblocks(struct scsi_cmnd *scmd, u32 n_blocks) in ata_check_nblocks() argument
1501 struct request *rq = scmd->request; in ata_check_nblocks()
1507 req_blocks = blk_rq_bytes(rq) / scmd->device->sector_size; in ata_check_nblocks()
1534 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_rw_xlat() local
1535 const u8 *cdb = scmd->cmnd; in ata_scsi_rw_xlat()
1536 struct request *rq = scmd->request; in ata_scsi_rw_xlat()
1551 if (unlikely(scmd->cmd_len < 10)) { in ata_scsi_rw_xlat()
1558 if (!ata_check_nblocks(scmd, n_block)) in ata_scsi_rw_xlat()
1563 if (unlikely(scmd->cmd_len < 6)) { in ata_scsi_rw_xlat()
1574 if (!ata_check_nblocks(scmd, n_block)) in ata_scsi_rw_xlat()
1579 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_rw_xlat()
1586 if (!ata_check_nblocks(scmd, n_block)) in ata_scsi_rw_xlat()
1607 qc->nbytes = n_block * scmd->device->sector_size; in ata_scsi_rw_xlat()
1619 ata_scsi_set_invalid_field(qc->dev, scmd, fp, 0xff); in ata_scsi_rw_xlat()
1623 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x21, 0x0); in ata_scsi_rw_xlat()
1628 scmd->result = SAM_STAT_GOOD; in ata_scsi_rw_xlat()
2663 struct scsi_cmnd *scmd = qc->scsicmd; in atapi_xlat() local
2665 int nodata = (scmd->sc_data_direction == DMA_NONE); in atapi_xlat()
2670 memcpy(qc->cdb, scmd->cmnd, scmd->cmd_len); in atapi_xlat()
2675 if (scmd->sc_data_direction == DMA_TO_DEVICE) { in atapi_xlat()
2734 (scmd->sc_data_direction != DMA_TO_DEVICE)) in atapi_xlat()
2857 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_pass_thru() local
2859 const u8 *cdb = scmd->cmnd; in ata_scsi_pass_thru()
2878 if (scmd->sc_data_direction != DMA_NONE) { in ata_scsi_pass_thru()
2977 qc->sect_size = scsi_bufflen(scmd); in ata_scsi_pass_thru()
3011 qc->sect_size = scmd->device->sector_size; in ata_scsi_pass_thru()
3025 if (scmd->sc_data_direction == DMA_TO_DEVICE) in ata_scsi_pass_thru()
3103 ata_scsi_set_invalid_field(dev, scmd, fp, 0xff); in ata_scsi_pass_thru()
3175 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_write_same_xlat() local
3176 struct scsi_device *sdp = scmd->device; in ata_scsi_write_same_xlat()
3179 const u8 *cdb = scmd->cmnd; in ata_scsi_write_same_xlat()
3197 if (unlikely(blk_rq_is_passthrough(scmd->request))) in ata_scsi_write_same_xlat()
3200 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_write_same_xlat()
3223 if (!scsi_sg_count(scmd)) in ata_scsi_write_same_xlat()
3232 size = ata_format_dsm_trim_descr(scmd, trmax, block, n_block); in ata_scsi_write_same_xlat()
3263 ata_scsi_set_invalid_field(dev, scmd, fp, bp); in ata_scsi_write_same_xlat()
3267 ata_scsi_set_sense(dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_write_same_xlat()
3271 ata_scsi_set_sense(dev, scmd, ILLEGAL_REQUEST, 0x20, 0x0); in ata_scsi_write_same_xlat()
3357 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_report_zones_complete() local
3362 sg_miter_start(&miter, scsi_sglist(scmd), scsi_sg_count(scmd), in ata_scsi_report_zones_complete()
3421 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_zbc_in_xlat() local
3422 const u8 *cdb = scmd->cmnd; in ata_scsi_zbc_in_xlat()
3428 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_zbc_in_xlat()
3430 scmd->cmd_len); in ata_scsi_zbc_in_xlat()
3435 if (n_block != scsi_bufflen(scmd)) { in ata_scsi_zbc_in_xlat()
3437 n_block, scsi_bufflen(scmd)); in ata_scsi_zbc_in_xlat()
3492 ata_scsi_set_invalid_field(qc->dev, scmd, fp, bp); in ata_scsi_zbc_in_xlat()
3497 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_zbc_in_xlat()
3504 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_zbc_out_xlat() local
3506 const u8 *cdb = scmd->cmnd; in ata_scsi_zbc_out_xlat()
3512 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_zbc_out_xlat()
3571 ata_scsi_set_invalid_field(qc->dev, scmd, fp, 0xff); in ata_scsi_zbc_out_xlat()
3575 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_zbc_out_xlat()
3703 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_mode_select_xlat() local
3704 const u8 *cdb = scmd->cmnd; in ata_scsi_mode_select_xlat()
3717 if (scmd->cmd_len < 5) { in ata_scsi_mode_select_xlat()
3725 if (scmd->cmd_len < 9) { in ata_scsi_mode_select_xlat()
3742 if (!scsi_sg_count(scmd) || scsi_sglist(scmd)->length < len) in ata_scsi_mode_select_xlat()
3749 if (!sg_copy_to_buffer(scsi_sglist(scmd), scsi_sg_count(scmd), in ata_scsi_mode_select_xlat()
3835 ata_scsi_set_invalid_field(qc->dev, scmd, fp, bp); in ata_scsi_mode_select_xlat()
3839 ata_scsi_set_invalid_parameter(qc->dev, scmd, fp); in ata_scsi_mode_select_xlat()
3844 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_mode_select_xlat()
3848 scmd->result = SAM_STAT_GOOD; in ata_scsi_mode_select_xlat()
3864 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_security_inout_xlat() local
3865 const u8 *cdb = scmd->cmnd; in ata_scsi_security_inout_xlat()
3877 ata_scsi_set_invalid_field(qc->dev, scmd, 1, 0); in ata_scsi_security_inout_xlat()
3883 ata_scsi_set_invalid_field(qc->dev, scmd, 6, 0); in ata_scsi_security_inout_xlat()
3888 ata_scsi_set_invalid_field(qc->dev, scmd, 6, 0); in ata_scsi_security_inout_xlat()
3930 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_var_len_cdb_xlat() local
3931 const u8 *cdb = scmd->cmnd; in ata_scsi_var_len_cdb_xlat()
4033 int __ata_scsi_queuecmd(struct scsi_cmnd *scmd, struct ata_device *dev) in __ata_scsi_queuecmd() argument
4036 u8 scsi_op = scmd->cmnd[0]; in __ata_scsi_queuecmd()
4048 if (unlikely(!scmd->cmd_len)) in __ata_scsi_queuecmd()
4052 if (unlikely(scmd->cmd_len > dev->cdb_len)) in __ata_scsi_queuecmd()
4060 if (unlikely(len > scmd->cmd_len || in __ata_scsi_queuecmd()
4062 scmd->cmd_len > ATAPI_CDB_LEN)) in __ata_scsi_queuecmd()
4068 if (unlikely(scmd->cmd_len > 16)) in __ata_scsi_queuecmd()
4075 return ata_scsi_translate(dev, scmd, xlat_func); in __ata_scsi_queuecmd()
4077 ata_scsi_simulate(dev, scmd); in __ata_scsi_queuecmd()
4083 scmd->cmd_len, scsi_op, dev->cdb_len); in __ata_scsi_queuecmd()
4084 scmd->result = DID_ERROR << 16; in __ata_scsi_queuecmd()
4085 scmd->scsi_done(scmd); in __ata_scsi_queuecmd()