Lines Matching refs:scmd
708 struct scsi_cmnd *scmd = qc->scsicmd; in ata_qc_set_pc_nbytes() local
710 qc->extrabytes = scmd->extra_len; in ata_qc_set_pc_nbytes()
711 qc->nbytes = scsi_bufflen(scmd) + qc->extrabytes; in ata_qc_set_pc_nbytes()
1070 struct scsi_cmnd *scmd = blk_mq_rq_to_pdu(rq); in ata_scsi_dma_need_drain() local
1072 return atapi_cmd_type(scmd->cmnd[0]) == ATAPI_MISC; in ata_scsi_dma_need_drain()
1218 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_start_stop_xlat() local
1220 const u8 *cdb = scmd->cmnd; in ata_scsi_start_stop_xlat()
1224 if (scmd->cmd_len < 5) { in ata_scsi_start_stop_xlat()
1289 ata_scsi_set_invalid_field(qc->dev, scmd, fp, bp); in ata_scsi_start_stop_xlat()
1292 scmd->result = SAM_STAT_GOOD; in ata_scsi_start_stop_xlat()
1399 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_verify_xlat() local
1403 const u8 *cdb = scmd->cmnd; in ata_scsi_verify_xlat()
1413 if (scmd->cmd_len < 10) { in ata_scsi_verify_xlat()
1420 if (scmd->cmd_len < 16) { in ata_scsi_verify_xlat()
1500 ata_scsi_set_invalid_field(qc->dev, scmd, fp, 0xff); in ata_scsi_verify_xlat()
1504 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x21, 0x0); in ata_scsi_verify_xlat()
1509 scmd->result = SAM_STAT_GOOD; in ata_scsi_verify_xlat()
1513 static bool ata_check_nblocks(struct scsi_cmnd *scmd, u32 n_blocks) in ata_check_nblocks() argument
1515 struct request *rq = scsi_cmd_to_rq(scmd); in ata_check_nblocks()
1521 req_blocks = blk_rq_bytes(rq) / scmd->device->sector_size; in ata_check_nblocks()
1548 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_rw_xlat() local
1549 const u8 *cdb = scmd->cmnd; in ata_scsi_rw_xlat()
1550 struct request *rq = scsi_cmd_to_rq(scmd); in ata_scsi_rw_xlat()
1570 if (unlikely(scmd->cmd_len < 10)) { in ata_scsi_rw_xlat()
1577 if (!ata_check_nblocks(scmd, n_block)) in ata_scsi_rw_xlat()
1582 if (unlikely(scmd->cmd_len < 6)) { in ata_scsi_rw_xlat()
1593 if (!ata_check_nblocks(scmd, n_block)) in ata_scsi_rw_xlat()
1598 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_rw_xlat()
1605 if (!ata_check_nblocks(scmd, n_block)) in ata_scsi_rw_xlat()
1625 qc->nbytes = n_block * scmd->device->sector_size; in ata_scsi_rw_xlat()
1635 ata_scsi_set_invalid_field(qc->dev, scmd, fp, 0xff); in ata_scsi_rw_xlat()
1639 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x21, 0x0); in ata_scsi_rw_xlat()
1644 scmd->result = SAM_STAT_GOOD; in ata_scsi_rw_xlat()
2616 struct scsi_cmnd *scmd = qc->scsicmd; in atapi_xlat() local
2618 int nodata = (scmd->sc_data_direction == DMA_NONE); in atapi_xlat()
2623 memcpy(qc->cdb, scmd->cmnd, scmd->cmd_len); in atapi_xlat()
2628 if (scmd->sc_data_direction == DMA_TO_DEVICE) { in atapi_xlat()
2686 (scmd->sc_data_direction != DMA_TO_DEVICE)) in atapi_xlat()
2809 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_pass_thru() local
2811 const u8 *cdb = scmd->cmnd; in ata_scsi_pass_thru()
2830 if (scmd->sc_data_direction != DMA_NONE) { in ata_scsi_pass_thru()
2933 qc->sect_size = scsi_bufflen(scmd); in ata_scsi_pass_thru()
2967 qc->sect_size = scmd->device->sector_size; in ata_scsi_pass_thru()
2981 if (scmd->sc_data_direction == DMA_TO_DEVICE) in ata_scsi_pass_thru()
3059 ata_scsi_set_invalid_field(dev, scmd, fp, 0xff); in ata_scsi_pass_thru()
3131 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_write_same_xlat() local
3132 struct scsi_device *sdp = scmd->device; in ata_scsi_write_same_xlat()
3135 const u8 *cdb = scmd->cmnd; in ata_scsi_write_same_xlat()
3153 if (unlikely(blk_rq_is_passthrough(scsi_cmd_to_rq(scmd)))) in ata_scsi_write_same_xlat()
3156 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_write_same_xlat()
3179 if (!scsi_sg_count(scmd)) in ata_scsi_write_same_xlat()
3188 size = ata_format_dsm_trim_descr(scmd, trmax, block, n_block); in ata_scsi_write_same_xlat()
3219 ata_scsi_set_invalid_field(dev, scmd, fp, bp); in ata_scsi_write_same_xlat()
3223 ata_scsi_set_sense(dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_write_same_xlat()
3227 ata_scsi_set_sense(dev, scmd, ILLEGAL_REQUEST, 0x20, 0x0); in ata_scsi_write_same_xlat()
3314 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_report_zones_complete() local
3319 sg_miter_start(&miter, scsi_sglist(scmd), scsi_sg_count(scmd), in ata_scsi_report_zones_complete()
3378 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_zbc_in_xlat() local
3379 const u8 *cdb = scmd->cmnd; in ata_scsi_zbc_in_xlat()
3385 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_zbc_in_xlat()
3387 scmd->cmd_len); in ata_scsi_zbc_in_xlat()
3392 if (n_block != scsi_bufflen(scmd)) { in ata_scsi_zbc_in_xlat()
3394 n_block, scsi_bufflen(scmd)); in ata_scsi_zbc_in_xlat()
3449 ata_scsi_set_invalid_field(qc->dev, scmd, fp, bp); in ata_scsi_zbc_in_xlat()
3454 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_zbc_in_xlat()
3461 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_zbc_out_xlat() local
3463 const u8 *cdb = scmd->cmnd; in ata_scsi_zbc_out_xlat()
3469 if (unlikely(scmd->cmd_len < 16)) { in ata_scsi_zbc_out_xlat()
3528 ata_scsi_set_invalid_field(qc->dev, scmd, fp, 0xff); in ata_scsi_zbc_out_xlat()
3532 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_zbc_out_xlat()
3654 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_mode_select_xlat() local
3655 const u8 *cdb = scmd->cmnd; in ata_scsi_mode_select_xlat()
3666 if (scmd->cmd_len < 5) { in ata_scsi_mode_select_xlat()
3674 if (scmd->cmd_len < 9) { in ata_scsi_mode_select_xlat()
3691 if (!scsi_sg_count(scmd) || scsi_sglist(scmd)->length < len) in ata_scsi_mode_select_xlat()
3698 if (!sg_copy_to_buffer(scsi_sglist(scmd), scsi_sg_count(scmd), in ata_scsi_mode_select_xlat()
3784 ata_scsi_set_invalid_field(qc->dev, scmd, fp, bp); in ata_scsi_mode_select_xlat()
3788 ata_scsi_set_invalid_parameter(qc->dev, scmd, fp); in ata_scsi_mode_select_xlat()
3793 ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0); in ata_scsi_mode_select_xlat()
3797 scmd->result = SAM_STAT_GOOD; in ata_scsi_mode_select_xlat()
3813 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_security_inout_xlat() local
3814 const u8 *cdb = scmd->cmnd; in ata_scsi_security_inout_xlat()
3826 ata_scsi_set_invalid_field(qc->dev, scmd, 1, 0); in ata_scsi_security_inout_xlat()
3832 ata_scsi_set_invalid_field(qc->dev, scmd, 6, 0); in ata_scsi_security_inout_xlat()
3837 ata_scsi_set_invalid_field(qc->dev, scmd, 6, 0); in ata_scsi_security_inout_xlat()
3879 struct scsi_cmnd *scmd = qc->scsicmd; in ata_scsi_var_len_cdb_xlat() local
3880 const u8 *cdb = scmd->cmnd; in ata_scsi_var_len_cdb_xlat()
3961 int __ata_scsi_queuecmd(struct scsi_cmnd *scmd, struct ata_device *dev) in __ata_scsi_queuecmd() argument
3964 u8 scsi_op = scmd->cmnd[0]; in __ata_scsi_queuecmd()
3976 if (unlikely(!scmd->cmd_len)) in __ata_scsi_queuecmd()
3980 if (unlikely(scmd->cmd_len > dev->cdb_len)) in __ata_scsi_queuecmd()
3988 if (unlikely(len > scmd->cmd_len || in __ata_scsi_queuecmd()
3990 scmd->cmd_len > ATAPI_CDB_LEN)) in __ata_scsi_queuecmd()
3996 if (unlikely(scmd->cmd_len > 16)) in __ata_scsi_queuecmd()
4003 return ata_scsi_translate(dev, scmd, xlat_func); in __ata_scsi_queuecmd()
4005 ata_scsi_simulate(dev, scmd); in __ata_scsi_queuecmd()
4010 scmd->result = DID_ERROR << 16; in __ata_scsi_queuecmd()
4011 scsi_done(scmd); in __ata_scsi_queuecmd()