Commit 2453f5f9 authored by Stephen M. Cameron's avatar Stephen M. Cameron Committed by Jens Axboe

cciss: fix handling of protocol error

If a command completes with a status of CMD_PROTOCOL_ERR, this
information should be conveyed to the SCSI mid layer, not dropped
on the floor.  Unlike a similar bug in the hpsa driver, this bug
only affects tape drives and CD and DVD ROM drives in the cciss
driver, and to induce it, you have to disconnect (or damage) a
cable, so it is not a very likely scenario (which would explain
why the bug has gone undetected for the last 10 years.)
Signed-off-by: default avatarStephen M. Cameron <scameron@beardog.cce.hp.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 2bd6efad
...@@ -795,6 +795,7 @@ static void complete_scsi_command(CommandList_struct *c, int timeout, ...@@ -795,6 +795,7 @@ static void complete_scsi_command(CommandList_struct *c, int timeout,
} }
break; break;
case CMD_PROTOCOL_ERR: case CMD_PROTOCOL_ERR:
cmd->result = DID_ERROR << 16;
dev_warn(&h->pdev->dev, dev_warn(&h->pdev->dev,
"%p has protocol error\n", c); "%p has protocol error\n", c);
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment