[SCSI] fix id computation in scsi_eh_target_reset()
authorJames Bottomley <James.Bottomley@suse.de>
Mon, 25 Oct 2010 20:53:41 +0000 (15:53 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:23:56 +0000 (12:23 -0600)
commit98db519573e805f9f7e988fb5661da951fcb16b1
tree8186c195ae339439f45109110afea40fbf833363
parent110def851fc823bb1a4584cb6308e30e5ffb3e05
[SCSI] fix id computation in scsi_eh_target_reset()

The current code in scsi_eh_target_reset() has an off by one error
that actually sends spurious extra resets.  Since there's no real need
to reset the targets in numerical order, simply chunk up the command
recovery list doing target resets and pulling matching targets out of
the list (that also makes the loop O(N) instead of O(N^2).

[mike christie found and fixed a list_splice -> list_splice_init problem]

Reported-by: Hillf Danton<dhillf@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/scsi_error.c