summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>2012-03-08 22:42:06 -0800
committerDan Williams <dan.j.williams@intel.com>2012-05-17 14:33:42 -0700
commit28de92bef0fb0c3953aa73d31a961422ef900e6a (patch)
treec428479eb9257fc08f2cb968d2f1377a312c803e
parent1db79b3e784bffe7e00f9462a5c3441746e48632 (diff)
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 432585b04dc..415d5f55d1c 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;