scsi: scsi_debug: reset injection flags for every_nth > 0
If every_nth > 0, the injection flags must be reset for commands that aren't supposed to fail (i.e. that aren't "nth"). Otherwise, commands will continue to fail, like in the every_nth < 0 case. 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>
This commit is contained in:
parent
80c49563e2
commit
f9ba7af810
|
@ -4294,8 +4294,13 @@ static void clear_queue_stats(void)
|
|||
static void setup_inject(struct sdebug_queue *sqp,
|
||||
struct sdebug_queued_cmd *sqcp)
|
||||
{
|
||||
if ((atomic_read(&sdebug_cmnd_count) % abs(sdebug_every_nth)) > 0)
|
||||
if ((atomic_read(&sdebug_cmnd_count) % abs(sdebug_every_nth)) > 0) {
|
||||
if (sdebug_every_nth > 0)
|
||||
sqcp->inj_recovered = sqcp->inj_transport
|
||||
= sqcp->inj_dif
|
||||
= sqcp->inj_dix = sqcp->inj_short = 0;
|
||||
return;
|
||||
}
|
||||
sqcp->inj_recovered = !!(SDEBUG_OPT_RECOVERED_ERR & sdebug_opts);
|
||||
sqcp->inj_transport = !!(SDEBUG_OPT_TRANSPORT_ERR & sdebug_opts);
|
||||
sqcp->inj_dif = !!(SDEBUG_OPT_DIF_ERR & sdebug_opts);
|
||||
|
|
Loading…
Reference in New Issue