Lines Matching refs:SCpnt

494 static int check_readiness(struct scsi_cmnd *SCpnt, int uas_only,
506 mk_sense_buffer(SCpnt, UNIT_ATTENTION,
512 mk_sense_buffer(SCpnt, UNIT_ATTENTION,
518 mk_sense_buffer(SCpnt, UNIT_ATTENTION,
532 sdev_printk(KERN_INFO, SCpnt->device,
538 mk_sense_buffer(SCpnt, NOT_READY, LOGICAL_UNIT_NOT_READY,
541 sdev_printk(KERN_INFO, SCpnt->device,
1923 static void dif_copy_prot(struct scsi_cmnd *SCpnt, sector_t sector,
1934 sg_miter_start(&miter, scsi_prot_sglist(SCpnt),
1935 scsi_prot_sg_count(SCpnt), SG_MITER_ATOMIC |
1966 static int prot_verify_read(struct scsi_cmnd *SCpnt, sector_t start_sec,
1989 dif_copy_prot(SCpnt, start_sec, sectors, true);
1995 static int resp_read(struct scsi_cmnd *SCpnt, unsigned long long lba,
2001 ret = check_device_access_params(SCpnt, lba, num);
2009 mk_sense_buffer(SCpnt, MEDIUM_ERROR, UNRECOVERED_READ_ERR, 0);
2011 if (0x70 == (SCpnt->sense_buffer[0] & 0x7f)) {
2012 SCpnt->sense_buffer[0] |= 0x80; /* Valid bit */
2015 SCpnt->sense_buffer[3] = (ret >> 24) & 0xff;
2016 SCpnt->sense_buffer[4] = (ret >> 16) & 0xff;
2017 SCpnt->sense_buffer[5] = (ret >> 8) & 0xff;
2018 SCpnt->sense_buffer[6] = ret & 0xff;
2020 scsi_set_resid(SCpnt, scsi_bufflen(SCpnt));
2027 if (scsi_debug_dix && scsi_prot_sg_count(SCpnt)) {
2028 int prot_ret = prot_verify_read(SCpnt, lba, num, ei_lba);
2032 mk_sense_buffer(SCpnt, ABORTED_COMMAND, 0x10, prot_ret);
2037 ret = do_device_access(SCpnt, lba, num, 0);
2042 scsi_in(SCpnt)->resid = scsi_bufflen(SCpnt) - ret;
2069 static int prot_verify_write(struct scsi_cmnd *SCpnt, sector_t start_sec,
2081 BUG_ON(scsi_sg_count(SCpnt) == 0);
2082 BUG_ON(scsi_prot_sg_count(SCpnt) == 0);
2084 sg_miter_start(&piter, scsi_prot_sglist(SCpnt),
2085 scsi_prot_sg_count(SCpnt),
2087 sg_miter_start(&diter, scsi_sglist(SCpnt), scsi_sg_count(SCpnt),
2129 dif_copy_prot(SCpnt, start_sec, sectors, false);
2226 static int resp_write(struct scsi_cmnd *SCpnt, unsigned long long lba,
2232 ret = check_device_access_params(SCpnt, lba, num);
2239 if (scsi_debug_dix && scsi_prot_sg_count(SCpnt)) {
2240 int prot_ret = prot_verify_write(SCpnt, lba, num, ei_lba);
2244 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST, 0x10,
2250 ret = do_device_access(SCpnt, lba, num, 1);
2258 sdev_printk(KERN_INFO, SCpnt->device,
2834 static int scsi_debug_abort(struct scsi_cmnd *SCpnt)
2837 if (SCpnt) {
2838 if (SCpnt->device &&
2840 sdev_printk(KERN_INFO, SCpnt->device, "%s\n",
2842 stop_queued_cmnd(SCpnt);
2847 static int scsi_debug_device_reset(struct scsi_cmnd * SCpnt)
2852 if (SCpnt && SCpnt->device) {
2853 struct scsi_device *sdp = SCpnt->device;
2864 static int scsi_debug_target_reset(struct scsi_cmnd *SCpnt)
2873 if (!SCpnt)
2875 sdp = SCpnt->device;
2900 static int scsi_debug_bus_reset(struct scsi_cmnd * SCpnt)
2909 if (!(SCpnt && SCpnt->device))
2911 sdp = SCpnt->device;
2933 static int scsi_debug_host_reset(struct scsi_cmnd * SCpnt)
2940 if ((SCpnt->device) && (SCSI_DEBUG_OPT_ALL_NOISE & scsi_debug_opts))
2941 sdev_printk(KERN_INFO, SCpnt->device, "%s\n", __func__);
2953 sdev_printk(KERN_INFO, SCpnt->device,
4090 scsi_debug_queuecommand(struct scsi_cmnd *SCpnt)
4092 unsigned char *cmd = SCpnt->cmnd;
4098 int target = SCpnt->device->id;
4108 scsi_set_resid(SCpnt, 0);
4114 len = SCpnt->cmd_len;
4122 sdev_printk(KERN_INFO, SCpnt->device, "%s: cmd %s\n", my_name,
4126 if ((SCpnt->device->lun >= scsi_debug_max_luns) &&
4127 (SCpnt->device->lun != SAM2_WLUN_REPORT_LUNS))
4128 return schedule_resp(SCpnt, NULL, DID_NO_CONNECT << 16, 0);
4129 devip = devInfoReg(SCpnt->device);
4131 return schedule_resp(SCpnt, NULL, DID_NO_CONNECT << 16, 0);
4142 scsi_medium_access_command(SCpnt))
4167 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4170 return schedule_resp(SCpnt, devip, errsts, 0);
4177 errsts = resp_inquiry(SCpnt, target, devip);
4181 errsts = resp_requests(SCpnt, devip);
4185 errsts = resp_start_stop(SCpnt, devip);
4188 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4196 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4200 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4203 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4206 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4209 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4212 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4215 errsts = resp_readcap(SCpnt, devip);
4219 errsts = resp_readcap16(SCpnt, devip);
4223 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4227 errsts = resp_get_lba_status(SCpnt, devip);
4229 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4236 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4241 errsts = resp_report_tgtpgs(SCpnt, devip);
4249 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4263 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4273 errsts = resp_read(SCpnt, lba, num, ei_lba);
4275 mk_sense_buffer(SCpnt, RECOVERED_ERROR,
4279 mk_sense_buffer(SCpnt, ABORTED_COMMAND,
4284 mk_sense_buffer(SCpnt, ABORTED_COMMAND, 0x10, 1);
4287 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST, 0x10, 1);
4293 errsts = resp_report_luns(SCpnt, devip);
4296 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4304 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4318 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4324 errsts = resp_write(SCpnt, lba, num, ei_lba);
4326 mk_sense_buffer(SCpnt, RECOVERED_ERROR,
4330 mk_sense_buffer(SCpnt, ABORTED_COMMAND, 0x10, 1);
4333 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST, 0x10, 1);
4342 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4350 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4356 errsts = resp_write_same(SCpnt, lba, num, ei_lba, unmap);
4359 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4366 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4370 errsts = resp_unmap(SCpnt, devip);
4374 errsts = resp_mode_sense(SCpnt, target, devip);
4377 errsts = resp_mode_select(SCpnt, 1, devip);
4380 errsts = resp_mode_select(SCpnt, 0, devip);
4383 errsts = resp_log_sense(SCpnt, devip);
4387 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4390 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4393 if (!scsi_bidi_cmnd(SCpnt)) {
4394 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4400 errsts = check_readiness(SCpnt, UAS_TUR, devip);
4406 errsts = resp_read(SCpnt, lba, num, ei_lba);
4409 errsts = resp_write(SCpnt, lba, num, ei_lba);
4412 errsts = resp_xdwriteread(SCpnt, lba, num, devip);
4422 BUG_ON(SCpnt->cmd_len < 32);
4427 BUG_ON(SCpnt->cmd_len < 32);
4432 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4438 sdev_printk(KERN_INFO, SCpnt->device,
4440 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST,
4446 sdev_printk(KERN_INFO, SCpnt->device,
4449 errsts = check_readiness(SCpnt, UAS_ONLY, devip);
4452 mk_sense_buffer(SCpnt, ILLEGAL_REQUEST, INVALID_OPCODE, 0);
4456 return schedule_resp(SCpnt, devip, errsts,