|
@@ -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: "
|