Lines Matching refs:devip

1053 static void clear_luns_changed_on_target(struct sdebug_dev_info *devip)  in clear_luns_changed_on_target()  argument
1061 if ((devip->sdbg_host == dp->sdbg_host) && in clear_luns_changed_on_target()
1062 (devip->target == dp->target)) in clear_luns_changed_on_target()
1069 static int make_ua(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in make_ua() argument
1073 k = find_first_bit(devip->uas_bm, SDEBUG_NUM_UAS); in make_ua()
1126 clear_luns_changed_on_target(devip); in make_ua()
1139 clear_bit(k, devip->uas_bm); in make_ua()
1504 static int inquiry_vpd_b1(struct sdebug_dev_info *devip, unsigned char *arr) in inquiry_vpd_b1() argument
1511 if (devip->zmodel == BLK_ZONED_HA) in inquiry_vpd_b1()
1537 static int inquiry_vpd_b6(struct sdebug_dev_info *devip, unsigned char *arr) in inquiry_vpd_b6() argument
1549 if (sdeb_zbc_model == BLK_ZONED_HM && devip->max_open) in inquiry_vpd_b6()
1550 put_unaligned_be32(devip->max_open, &arr[12]); in inquiry_vpd_b6()
1559 static int resp_inquiry(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_inquiry() argument
1573 is_zbc = (devip->zmodel != BLK_ZONED_NONE); in resp_inquiry()
1578 else if (sdebug_no_lun_0 && (devip->lun == SDEBUG_LUN_0_VAL)) in resp_inquiry()
1591 int host_no = devip->sdbg_host->shost->host_no; in resp_inquiry()
1594 (devip->channel & 0x7f); in resp_inquiry()
1598 (devip->target * 1000) + devip->lun); in resp_inquiry()
1600 (devip->target * 1000) - 3; in resp_inquiry()
1632 &devip->lu_name); in resp_inquiry()
1668 arr[3] = inquiry_vpd_b1(devip, &arr[4]); in resp_inquiry()
1674 arr[3] = inquiry_vpd_b6(devip, &arr[4]); in resp_inquiry()
1728 struct sdebug_dev_info *devip) in resp_requests() argument
1735 int stopped_state = atomic_read(&devip->stopped); in resp_requests()
1781 static int resp_start_stop(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_start_stop() argument
1793 stopped_state = atomic_read(&devip->stopped); in resp_start_stop()
1797 if (ktime_to_ns(now_ts) > ktime_to_ns(devip->create_ts)) { in resp_start_stop()
1798 u64 diff_ns = ktime_to_ns(ktime_sub(now_ts, devip->create_ts)); in resp_start_stop()
1802 atomic_set(&devip->stopped, 0); in resp_start_stop()
1817 atomic_xchg(&devip->stopped, want_stop); in resp_start_stop()
1837 struct sdebug_dev_info *devip) in resp_readcap() argument
1856 struct sdebug_dev_info *devip) in resp_readcap16() argument
1885 if (devip->zmodel == BLK_ZONED_HM) in resp_readcap16()
1902 struct sdebug_dev_info *devip) in resp_report_tgtpgs() argument
1906 int host_no = devip->sdbg_host->shost->host_no; in resp_report_tgtpgs()
1924 (devip->channel & 0x7f); in resp_report_tgtpgs()
1926 (devip->channel & 0x7f) + 0x80; in resp_report_tgtpgs()
1979 struct sdebug_dev_info *devip) in resp_rsup_opcodes() argument
2130 struct sdebug_dev_info *devip) in resp_rsup_tmfs() argument
2319 struct sdebug_dev_info *devip) in resp_mode_sense() argument
2338 is_zbc = (devip->zmodel != BLK_ZONED_NONE); in resp_mode_sense()
2349 target_dev_id = ((devip->sdbg_host->shost->host_no + 1) * 2000) + in resp_mode_sense()
2350 (devip->target * 1000) - 3; in resp_mode_sense()
2486 struct sdebug_dev_info *devip) in resp_mode_select() argument
2563 set_bit(SDEBUG_UA_MODE_CHANGED, devip->uas_bm); in resp_mode_select()
2593 struct sdebug_dev_info *devip) in resp_log_sense() argument
2671 static inline bool sdebug_dev_is_zoned(struct sdebug_dev_info *devip) in sdebug_dev_is_zoned() argument
2673 return devip->nr_zones != 0; in sdebug_dev_is_zoned()
2676 static struct sdeb_zone_state *zbc_zone(struct sdebug_dev_info *devip, in zbc_zone() argument
2679 return &devip->zstate[lba >> devip->zsize_shift]; in zbc_zone()
2687 static void zbc_close_zone(struct sdebug_dev_info *devip, in zbc_close_zone() argument
2700 devip->nr_imp_open--; in zbc_close_zone()
2702 devip->nr_exp_open--; in zbc_close_zone()
2708 devip->nr_closed++; in zbc_close_zone()
2712 static void zbc_close_imp_open_zone(struct sdebug_dev_info *devip) in zbc_close_imp_open_zone() argument
2714 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_close_imp_open_zone()
2717 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_close_imp_open_zone()
2719 zbc_close_zone(devip, zsp); in zbc_close_imp_open_zone()
2725 static void zbc_open_zone(struct sdebug_dev_info *devip, in zbc_open_zone() argument
2740 zbc_close_zone(devip, zsp); in zbc_open_zone()
2741 else if (devip->max_open && in zbc_open_zone()
2742 devip->nr_imp_open + devip->nr_exp_open >= devip->max_open) in zbc_open_zone()
2743 zbc_close_imp_open_zone(devip); in zbc_open_zone()
2746 devip->nr_closed--; in zbc_open_zone()
2749 devip->nr_exp_open++; in zbc_open_zone()
2752 devip->nr_imp_open++; in zbc_open_zone()
2756 static inline void zbc_set_zone_full(struct sdebug_dev_info *devip, in zbc_set_zone_full() argument
2761 devip->nr_imp_open--; in zbc_set_zone_full()
2764 devip->nr_exp_open--; in zbc_set_zone_full()
2774 static void zbc_inc_wp(struct sdebug_dev_info *devip, in zbc_inc_wp() argument
2777 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in zbc_inc_wp()
2786 zbc_set_zone_full(devip, zsp); in zbc_inc_wp()
2805 zbc_set_zone_full(devip, zsp); in zbc_inc_wp()
2820 struct sdebug_dev_info *devip = (struct sdebug_dev_info *)sdp->hostdata; in check_zbc_access_params() local
2821 struct sdeb_zone_state *zsp = zbc_zone(devip, lba); in check_zbc_access_params()
2822 struct sdeb_zone_state *zsp_end = zbc_zone(devip, lba + num - 1); in check_zbc_access_params()
2825 if (devip->zmodel == BLK_ZONED_HA) in check_zbc_access_params()
2875 if (devip->max_open && in check_zbc_access_params()
2876 devip->nr_exp_open >= devip->max_open) { in check_zbc_access_params()
2882 zbc_open_zone(devip, zsp, false); in check_zbc_access_params()
2893 struct sdebug_dev_info *devip = (struct sdebug_dev_info *)sdp->hostdata; in check_device_access_params() local
2909 if (sdebug_dev_is_zoned(devip)) in check_device_access_params()
2921 static inline struct sdeb_store_info *devip2sip(struct sdebug_dev_info *devip, in devip2sip() argument
2928 return xa_load(per_store_ap, devip->sdbg_host->si_idx); in devip2sip()
3137 static int resp_read_dt0(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_read_dt0() argument
3144 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_read_dt0()
3440 static int resp_write_dt0(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_write_dt0() argument
3447 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_write_dt0()
3525 if (sdebug_dev_is_zoned(devip)) in resp_write_dt0()
3526 zbc_inc_wp(devip, lba, num); in resp_write_dt0()
3561 struct sdebug_dev_info *devip) in resp_write_scat() argument
3566 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_write_scat()
3680 if (sdebug_dev_is_zoned(devip)) in resp_write_scat()
3681 zbc_inc_wp(devip, lba, num); in resp_write_scat()
3727 struct sdebug_dev_info *devip = (struct sdebug_dev_info *)sdp->hostdata; in resp_write_same() local
3778 if (sdebug_dev_is_zoned(devip)) in resp_write_same()
3779 zbc_inc_wp(devip, lba, num); in resp_write_same()
3787 struct sdebug_dev_info *devip) in resp_write_same_10() argument
3812 struct sdebug_dev_info *devip) in resp_write_same_16() argument
3843 struct sdebug_dev_info *devip) in resp_write_buffer() argument
3854 set_bit(SDEBUG_UA_BUS_RESET, devip->uas_bm); in resp_write_buffer()
3855 set_bit(SDEBUG_UA_MICROCODE_CHANGED, devip->uas_bm); in resp_write_buffer()
3858 set_bit(SDEBUG_UA_MICROCODE_CHANGED_WO_RESET, devip->uas_bm); in resp_write_buffer()
3863 &devip->sdbg_host->dev_info_list, in resp_write_buffer()
3867 if (devip != dp) in resp_write_buffer()
3875 &devip->sdbg_host->dev_info_list, in resp_write_buffer()
3889 struct sdebug_dev_info *devip) in resp_comp_write() argument
3893 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_comp_write()
3956 static int resp_unmap(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_unmap() argument
3960 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_unmap()
4015 struct sdebug_dev_info *devip) in resp_get_lba_status() argument
4034 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_get_lba_status()
4057 struct sdebug_dev_info *devip) in resp_sync_cache() argument
4090 struct sdebug_dev_info *devip) in resp_pre_fetch() argument
4097 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_pre_fetch()
4143 struct sdebug_dev_info *devip) in resp_report_luns() argument
4159 clear_luns_changed_on_target(devip); in resp_report_luns()
4235 static int resp_verify(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_verify() argument
4245 struct sdeb_store_info *sip = devip2sip(devip, true); in resp_verify()
4316 struct sdebug_dev_info *devip) in resp_report_zones() argument
4326 struct sdeb_store_info *sip = devip2sip(devip, false); in resp_report_zones()
4329 if (!sdebug_dev_is_zoned(devip)) { in resp_report_zones()
4345 max_zones = devip->nr_zones - (zs_lba >> devip->zsize_shift); in resp_report_zones()
4360 lba = zs_lba + devip->zsize * i; in resp_report_zones()
4363 zsp = zbc_zone(devip, lba); in resp_report_zones()
4450 static void zbc_open_all(struct sdebug_dev_info *devip) in zbc_open_all() argument
4452 struct sdeb_zone_state *zsp = &devip->zstate[0]; in zbc_open_all()
4455 for (i = 0; i < devip->nr_zones; i++, zsp++) { in zbc_open_all()
4457 zbc_open_zone(devip, &devip->zstate[i], true); in zbc_open_all()
4461 static int resp_open_zone(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_open_zone() argument
4469 struct sdeb_store_info *sip = devip2sip(devip, false); in resp_open_zone()
4472 if (!sdebug_dev_is_zoned(devip)) { in resp_open_zone()
4481 if (devip->max_open && in resp_open_zone()
4482 devip->nr_exp_open + devip->nr_closed > devip->max_open) { in resp_open_zone()
4489 zbc_open_all(devip); in resp_open_zone()
4501 zsp = zbc_zone(devip, z_id); in resp_open_zone()
4517 if (devip->max_open && devip->nr_exp_open >= devip->max_open) { in resp_open_zone()
4524 zbc_open_zone(devip, zsp, true); in resp_open_zone()
4530 static void zbc_close_all(struct sdebug_dev_info *devip) in zbc_close_all() argument
4534 for (i = 0; i < devip->nr_zones; i++) in zbc_close_all()
4535 zbc_close_zone(devip, &devip->zstate[i]); in zbc_close_all()
4539 struct sdebug_dev_info *devip) in resp_close_zone() argument
4546 struct sdeb_store_info *sip = devip2sip(devip, false); in resp_close_zone()
4549 if (!sdebug_dev_is_zoned(devip)) { in resp_close_zone()
4557 zbc_close_all(devip); in resp_close_zone()
4569 zsp = zbc_zone(devip, z_id); in resp_close_zone()
4581 zbc_close_zone(devip, zsp); in resp_close_zone()
4587 static void zbc_finish_zone(struct sdebug_dev_info *devip, in zbc_finish_zone() argument
4595 zbc_close_zone(devip, zsp); in zbc_finish_zone()
4597 devip->nr_closed--; in zbc_finish_zone()
4603 static void zbc_finish_all(struct sdebug_dev_info *devip) in zbc_finish_all() argument
4607 for (i = 0; i < devip->nr_zones; i++) in zbc_finish_all()
4608 zbc_finish_zone(devip, &devip->zstate[i], false); in zbc_finish_all()
4612 struct sdebug_dev_info *devip) in resp_finish_zone() argument
4619 struct sdeb_store_info *sip = devip2sip(devip, false); in resp_finish_zone()
4622 if (!sdebug_dev_is_zoned(devip)) { in resp_finish_zone()
4630 zbc_finish_all(devip); in resp_finish_zone()
4642 zsp = zbc_zone(devip, z_id); in resp_finish_zone()
4654 zbc_finish_zone(devip, zsp, true); in resp_finish_zone()
4660 static void zbc_rwp_zone(struct sdebug_dev_info *devip, in zbc_rwp_zone() argument
4664 struct sdeb_store_info *sip = devip2sip(devip, false); in zbc_rwp_zone()
4671 zbc_close_zone(devip, zsp); in zbc_rwp_zone()
4674 devip->nr_closed--; in zbc_rwp_zone()
4685 static void zbc_rwp_all(struct sdebug_dev_info *devip) in zbc_rwp_all() argument
4689 for (i = 0; i < devip->nr_zones; i++) in zbc_rwp_all()
4690 zbc_rwp_zone(devip, &devip->zstate[i]); in zbc_rwp_all()
4693 static int resp_rwp_zone(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_rwp_zone() argument
4700 struct sdeb_store_info *sip = devip2sip(devip, false); in resp_rwp_zone()
4703 if (!sdebug_dev_is_zoned(devip)) { in resp_rwp_zone()
4711 zbc_rwp_all(devip); in resp_rwp_zone()
4722 zsp = zbc_zone(devip, z_id); in resp_rwp_zone()
4734 zbc_rwp_zone(devip, zsp); in resp_rwp_zone()
4769 struct sdebug_dev_info *devip; in sdebug_q_cmd_complete() local
4794 devip = (struct sdebug_dev_info *)scp->device->hostdata; in sdebug_q_cmd_complete()
4795 if (likely(devip)) in sdebug_q_cmd_complete()
4796 atomic_dec(&devip->num_in_q); in sdebug_q_cmd_complete()
4853 static int sdebug_device_create_zones(struct sdebug_dev_info *devip) in sdebug_device_create_zones() argument
4867 devip->zsize = (DEF_ZBC_ZONE_SIZE_MB * SZ_1M) in sdebug_device_create_zones()
4869 while (capacity < devip->zsize << 2 && devip->zsize >= 2) in sdebug_device_create_zones()
4870 devip->zsize >>= 1; in sdebug_device_create_zones()
4871 if (devip->zsize < 2) { in sdebug_device_create_zones()
4880 devip->zsize = (sdeb_zbc_zone_size_mb * SZ_1M) in sdebug_device_create_zones()
4882 if (devip->zsize >= capacity) { in sdebug_device_create_zones()
4888 devip->zsize_shift = ilog2(devip->zsize); in sdebug_device_create_zones()
4889 devip->nr_zones = (capacity + devip->zsize - 1) >> devip->zsize_shift; in sdebug_device_create_zones()
4891 if (sdeb_zbc_nr_conv >= devip->nr_zones) { in sdebug_device_create_zones()
4895 devip->nr_conv_zones = sdeb_zbc_nr_conv; in sdebug_device_create_zones()
4897 if (devip->zmodel == BLK_ZONED_HM) { in sdebug_device_create_zones()
4899 if (sdeb_zbc_max_open >= devip->nr_zones - 1) in sdebug_device_create_zones()
4900 devip->max_open = (devip->nr_zones - 1) / 2; in sdebug_device_create_zones()
4902 devip->max_open = sdeb_zbc_max_open; in sdebug_device_create_zones()
4905 devip->zstate = kcalloc(devip->nr_zones, in sdebug_device_create_zones()
4907 if (!devip->zstate) in sdebug_device_create_zones()
4910 for (i = 0; i < devip->nr_zones; i++) { in sdebug_device_create_zones()
4911 zsp = &devip->zstate[i]; in sdebug_device_create_zones()
4915 if (i < devip->nr_conv_zones) { in sdebug_device_create_zones()
4920 if (devip->zmodel == BLK_ZONED_HM) in sdebug_device_create_zones()
4928 if (zsp->z_start + devip->zsize < capacity) in sdebug_device_create_zones()
4929 zsp->z_size = devip->zsize; in sdebug_device_create_zones()
4942 struct sdebug_dev_info *devip; in sdebug_device_create() local
4944 devip = kzalloc(sizeof(*devip), flags); in sdebug_device_create()
4945 if (devip) { in sdebug_device_create()
4947 uuid_gen(&devip->lu_name); in sdebug_device_create()
4950 devip->lu_name = shared_uuid; in sdebug_device_create()
4954 devip->lu_name = shared_uuid; in sdebug_device_create()
4957 devip->sdbg_host = sdbg_host; in sdebug_device_create()
4959 devip->zmodel = sdeb_zbc_model; in sdebug_device_create()
4960 if (sdebug_device_create_zones(devip)) { in sdebug_device_create()
4961 kfree(devip); in sdebug_device_create()
4965 devip->zmodel = BLK_ZONED_NONE; in sdebug_device_create()
4967 devip->sdbg_host = sdbg_host; in sdebug_device_create()
4968 devip->create_ts = ktime_get_boottime(); in sdebug_device_create()
4969 atomic_set(&devip->stopped, (sdeb_tur_ms_to_ready > 0 ? 2 : 0)); in sdebug_device_create()
4970 list_add_tail(&devip->dev_list, &sdbg_host->dev_info_list); in sdebug_device_create()
4972 return devip; in sdebug_device_create()
4979 struct sdebug_dev_info *devip; in find_build_dev_info() local
4987 list_for_each_entry(devip, &sdbg_host->dev_info_list, dev_list) { in find_build_dev_info()
4988 if ((devip->used) && (devip->channel == sdev->channel) && in find_build_dev_info()
4989 (devip->target == sdev->id) && in find_build_dev_info()
4990 (devip->lun == sdev->lun)) in find_build_dev_info()
4991 return devip; in find_build_dev_info()
4993 if ((!devip->used) && (!open_devip)) in find_build_dev_info()
4994 open_devip = devip; in find_build_dev_info()
5025 struct sdebug_dev_info *devip = in scsi_debug_slave_configure() local
5033 if (devip == NULL) { in scsi_debug_slave_configure()
5034 devip = find_build_dev_info(sdp); in scsi_debug_slave_configure()
5035 if (devip == NULL) in scsi_debug_slave_configure()
5038 sdp->hostdata = devip; in scsi_debug_slave_configure()
5047 struct sdebug_dev_info *devip = in scsi_debug_slave_destroy() local
5053 if (devip) { in scsi_debug_slave_destroy()
5055 devip->used = false; in scsi_debug_slave_destroy()
5080 struct sdebug_dev_info *devip; in stop_queued_cmnd() local
5095 devip = (struct sdebug_dev_info *) in stop_queued_cmnd()
5097 if (devip) in stop_queued_cmnd()
5098 atomic_dec(&devip->num_in_q); in stop_queued_cmnd()
5125 struct sdebug_dev_info *devip; in stop_all_queued() local
5135 devip = (struct sdebug_dev_info *) in stop_all_queued()
5137 if (devip) in stop_all_queued()
5138 atomic_dec(&devip->num_in_q); in stop_all_queued()
5192 struct sdebug_dev_info *devip = in scsi_debug_device_reset() local
5197 if (devip) in scsi_debug_device_reset()
5198 set_bit(SDEBUG_UA_POR, devip->uas_bm); in scsi_debug_device_reset()
5206 struct sdebug_dev_info *devip; in scsi_debug_target_reset() local
5224 list_for_each_entry(devip, in scsi_debug_target_reset()
5227 if (devip->target == sdp->id) { in scsi_debug_target_reset()
5228 set_bit(SDEBUG_UA_BUS_RESET, devip->uas_bm); in scsi_debug_target_reset()
5242 struct sdebug_dev_info *devip; in scsi_debug_bus_reset() local
5257 list_for_each_entry(devip, in scsi_debug_bus_reset()
5260 set_bit(SDEBUG_UA_BUS_RESET, devip->uas_bm); in scsi_debug_bus_reset()
5275 struct sdebug_dev_info *devip; in scsi_debug_host_reset() local
5283 list_for_each_entry(devip, &sdbg_host->dev_info_list, in scsi_debug_host_reset()
5285 set_bit(SDEBUG_UA_BUS_RESET, devip->uas_bm); in scsi_debug_host_reset()
5397 static int schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, in schedule_resp() argument
5413 if (unlikely(devip == NULL)) { in schedule_resp()
5429 num_in_q = atomic_read(&devip->num_in_q); in schedule_resp()
5468 atomic_inc(&devip->num_in_q); in schedule_resp()
5477 atomic_dec(&devip->num_in_q); in schedule_resp()
5494 cmnd->result = pfp ? pfp(cmnd, devip) : 0; in schedule_resp()
5537 atomic_dec(&devip->num_in_q); in schedule_resp()
5592 cmnd->result = pfp != NULL ? pfp(cmnd, devip) : 0; in schedule_resp()
7166 struct sdebug_dev_info *devip; in sdebug_change_qdepth() local
7169 devip = (struct sdebug_dev_info *)sdev->hostdata; in sdebug_change_qdepth()
7170 if (NULL == devip) { in sdebug_change_qdepth()
7174 num_in_q = atomic_read(&devip->num_in_q); in sdebug_change_qdepth()
7206 static int resp_not_ready(struct scsi_cmnd *scp, struct sdebug_dev_info *devip) in resp_not_ready() argument
7213 stopped_state = atomic_read(&devip->stopped); in resp_not_ready()
7215 if (ktime_to_ns(now_ts) > ktime_to_ns(devip->create_ts)) { in resp_not_ready()
7216 diff_ns = ktime_to_ns(ktime_sub(now_ts, devip->create_ts)); in resp_not_ready()
7219 atomic_set(&devip->stopped, 0); in resp_not_ready()
7255 struct sdebug_dev_info *devip; in scsi_debug_queuecommand() local
7300 devip = (struct sdebug_dev_info *)sdp->hostdata; in scsi_debug_queuecommand()
7301 if (unlikely(!devip)) { in scsi_debug_queuecommand()
7302 devip = find_build_dev_info(sdp); in scsi_debug_queuecommand()
7303 if (NULL == devip) in scsi_debug_queuecommand()
7367 find_first_bit(devip->uas_bm, in scsi_debug_queuecommand()
7369 errsts = make_ua(scp, devip); in scsi_debug_queuecommand()
7374 atomic_read(&devip->stopped))) { in scsi_debug_queuecommand()
7375 errsts = resp_not_ready(scp, devip); in scsi_debug_queuecommand()
7392 return schedule_resp(scp, devip, errsts, pfp, 0, 0); in scsi_debug_queuecommand()
7405 return schedule_resp(scp, devip, errsts, pfp, jdelay, 0); in scsi_debug_queuecommand()
7407 return schedule_resp(scp, devip, errsts, pfp, sdebug_jdelay, in scsi_debug_queuecommand()
7410 return schedule_resp(scp, devip, check_condition_result, NULL, 0, 0); in scsi_debug_queuecommand()