summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>2012-03-09 07:42:06 +0100
committerDan Williams <dan.j.williams@intel.com>2012-05-17 23:33:42 +0200
commit28de92bef0fb0c3953aa73d31a961422ef900e6a (patch)
treec428479eb9257fc08f2cb968d2f1377a312c803e
parentisci: Directly control IREQ_ABORT_PATH_ACTIVE when completing TMFs. (diff)
downloadlinux-28de92bef0fb0c3953aa73d31a961422ef900e6a.tar.xz
linux-28de92bef0fb0c3953aa73d31a961422ef900e6a.zip
isci: Add protocol indicator for TMF requests.
Requests contructed as task management requests need to have the protocol indicator set so the completion decode can observe any RNC suspension conditions. Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r--drivers/scsi/isci/request.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/isci/request.c b/drivers/scsi/isci/request.c
index 432585b04dc2..415d5f55d1c6 100644
--- a/drivers/scsi/isci/request.c
+++ b/drivers/scsi/isci/request.c
@@ -3130,6 +3130,12 @@ enum sci_status sci_task_request_construct(struct isci_host *ihost,
if (dev->dev_type == SAS_END_DEV || dev_is_sata(dev)) {
set_bit(IREQ_TMF, &ireq->flags);
memset(ireq->tc, 0, sizeof(struct scu_task_context));
+
+ /* Set the protocol indicator. */
+ if (dev_is_sata(dev))
+ ireq->protocol = SAS_PROTOCOL_STP;
+ else
+ ireq->protocol = SAS_PROTOCOL_SSP;
} else
status = SCI_FAILURE_UNSUPPORTED_PROTOCOL;