diff options
author | Stephen M. Cameron <scameron@beardog.cce.hp.com> | 2012-08-22 03:15:49 +0400 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2012-10-08 01:38:24 +0400 |
commit | 80bc5ec142033266d5511bb299a738f816d520b9 (patch) | |
tree | cd85851188c2b4505991b36d24c9799d28d2ff8b | |
parent | c01b0313216b801d69913d9f704725bd6d784b3b (diff) | |
download | linux-80bc5ec142033266d5511bb299a738f816d520b9.tar.xz |
cciss: fix incorrect scsi status reporting
commit b0cf0b118c90477d1a6811f2cd2307f6a5578362 upstream.
Delete code which sets SCSI status incorrectly as it's already been set
correctly above this incorrect code. The bug was introduced in 2009 by
commit b0e15f6db111 ("cciss: fix typo that causes scsi status to be
lost.")
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Reported-by: Roel van Meer <roel.vanmeer@bokxing.nl>
Tested-by: Roel van Meer <roel.vanmeer@bokxing.nl>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
-rw-r--r-- | drivers/block/cciss_scsi.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/block/cciss_scsi.c b/drivers/block/cciss_scsi.c index 3315268b4ec7..ad8e5928bd8d 100644 --- a/drivers/block/cciss_scsi.c +++ b/drivers/block/cciss_scsi.c @@ -747,17 +747,7 @@ complete_scsi_command( CommandList_struct *cp, int timeout, __u32 tag) { case CMD_TARGET_STATUS: /* Pass it up to the upper layers... */ - if( ei->ScsiStatus) - { -#if 0 - printk(KERN_WARNING "cciss: cmd %p " - "has SCSI Status = %x\n", - cp, - ei->ScsiStatus); -#endif - cmd->result |= (ei->ScsiStatus < 1); - } - else { /* scsi status is zero??? How??? */ + if (!ei->ScsiStatus) { /* Ordinarily, this case should never happen, but there is a bug in some released firmware revisions that allows it to happen |