scsi: scsi_debug: call resp_*() function after setting host_scribble
authorMartin Wilck <mwilck@suse.com>
Wed, 14 Feb 2018 10:05:57 +0000 (11:05 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 15 Feb 2018 23:34:24 +0000 (18:34 -0500)
commitf66b85171a0ebd55a7efc3e82575ae187d62322c
treef8c52e502c887601bd53498fd1d2c3b49c34b6fd
parentc62f40bfb26356bb289267f3b802ec0434fdc118
scsi: scsi_debug: call resp_*() function after setting host_scribble

Error injection in scsi_debug (e.g. opts=16, SDEBUG_OPT_TRANSPORT_ERR)
currently doesn't work correctly because the test for sqcp in
resp_read_dt0() and similar resp_*() functions always fails.  sqcp is
set from cmnd->host_scribble, which is set in schedule_resp(), which is
called from scsi_debug_queuecommand() after calling the resp_* function.

Defer calling resp_*() until after cmnd->host_scribble is set in
schedule_resp().

Fixes: c483739430f1 "scsi_debug: add multiple queue support"
Signed-off-by: Martin Wilck <mwilck@suse.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_debug.c