From: Stephen M. Cameron Date: Tue, 26 Jul 2011 16:08:52 +0000 (-0500) Subject: [SCSI] hpsa: retry commands completing with status of UNSOLICITED_ABORT X-Git-Tag: v2.6.39-400.9.0~14^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7608a1e6b23165a52853d3584ce6bd3eb2e78824;p=users%2Fjedix%2Flinux-maple.git [SCSI] hpsa: retry commands completing with status of UNSOLICITED_ABORT In a shared SAS setup, target devices may be reset by one of several hosts, and outstanding commands on that device will be completed to corresponding hosts with status of UNSOLICITED_ABORT. Such commands should be retried instead of being treated as i/o errors. Also fixed a nearby spelling error. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley (cherry picked from commit f6e76055ba778c56716ba79e106db28297775e87) Signed-off-by: Joe Jin --- diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 71c804f71b336..0b2f3598ffda6 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -1355,8 +1355,8 @@ static void complete_scsi_command(struct CommandList *cp) dev_warn(&h->pdev->dev, "cp %p reports abort failed\n", cp); break; case CMD_UNSOLICITED_ABORT: - cmd->result = DID_RESET << 16; - dev_warn(&h->pdev->dev, "cp %p aborted do to an unsolicited " + cmd->result = DID_SOFT_ERROR << 16; /* retry the command */ + dev_warn(&h->pdev->dev, "cp %p aborted due to an unsolicited " "abort\n", cp); break; case CMD_TIMEOUT: