summaryrefslogtreecommitdiff
path: root/drivers/scsi/hpsa.c
diff options
context:
space:
mode:
authorMatt Gates <matthew.gates@hp.com>2010-02-04 08:43:00 -0600
committerJames Bottomley <James.Bottomley@suse.de>2010-02-17 13:21:31 -0600
commit1d3b36090551a31b8b8c4ba972aac95eaa8f77dd (patch)
treea8a1091e86871bd10768925b5a51841ccea0e5d8 /drivers/scsi/hpsa.c
parent5f0325ab280e92c023a5610dae4a6afb6c1ef151 (diff)
downloadlwn-1d3b36090551a31b8b8c4ba972aac95eaa8f77dd.tar.gz
lwn-1d3b36090551a31b8b8c4ba972aac95eaa8f77dd.zip
[SCSI] hpsa: Retry commands completing with a sense key of ABORTED_COMMAND
Signed-off-by: Matt Gates <matthew.gates@hp.com> Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/hpsa.c')
-rw-r--r--drivers/scsi/hpsa.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index bcc51f9d3903..d07b3d3f11a4 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -1037,8 +1037,15 @@ static void complete_scsi_command(struct CommandList *cp,
break;
}
}
-
-
+ if (sense_key == ABORTED_COMMAND) {
+ /* Aborted command is retryable */
+ dev_warn(&h->pdev->dev, "cp %p "
+ "has check condition: aborted command: "
+ "ASC: 0x%x, ASCQ: 0x%x\n",
+ cp, asc, ascq);
+ cmd->result = DID_SOFT_ERROR << 16;
+ break;
+ }
/* Must be some other type of check condition */
dev_warn(&h->pdev->dev, "cp %p has check condition: "
"unknown type: "