isci: Add protocol indicator for TMF requests.
authorJeff Skirvin <jeffrey.d.skirvin@intel.com>
Fri, 9 Mar 2012 06:42:06 +0000 (22:42 -0800)
committerDan Williams <dan.j.williams@intel.com>
Thu, 17 May 2012 21:33:42 +0000 (14:33 -0700)
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>
drivers/scsi/isci/request.c

index 432585b..415d5f5 100644 (file)
@@ -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;