Fix spurious request sense in error handling
authorJames Bottomley <JBottomley@Parallels.com>
Fri, 28 Mar 2014 17:50:17 +0000 (10:50 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 11 Jul 2014 12:33:58 +0000 (13:33 +0100)
commitc8d446a0623a08338ea07f45eed36569d8242485
treeb9350840fd7818ed1ff803e1b0e8589a79dbbc40
parentbbe9504c3a9f7cea3cd6d2660142d9b9bd5821f7
Fix spurious request sense in error handling

commit d555a2abf3481f81303d835046a5ec2c4fb3ca8e upstream.

We unconditionally execute scsi_eh_get_sense() to make sure all failed
commands that should have sense attached, do.  However, the routine forgets
that some commands, because of the way they fail, will not have any sense code
... we should not bother them with a REQUEST_SENSE command.  Fix this by
testing to see if we actually got a CHECK_CONDITION return and skip asking for
sense if we don't.

Tested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/scsi/scsi_error.c