lkml.org 
[lkml]   [2016]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 1/6] hisi_sas: add TMF_RESP_FUNC_SUCC check
    From
    Date
    On 02/16/2016 01:22 PM, John Garry wrote:
    > When a tmf is issued, various response codes can be
    > returned from the target. For a query tmf the
    > response may be TMF_RESP_FUNC_COMPLETE or
    > TMF_RESP_FUNC_SUCC.
    > Add a condition for TMF_RESP_FUNC_SUCC.
    > Also, check for SAM_STAT_GOOD is replaced with
    > TMF_RESP_FUNC_COMPLETE, which is a genuine tmf
    > response code. SAM_STAT_GOOD and
    > TMF_RESP_FUNC_COMPLETE have the same value, so
    > this is why it worked before.
    >
    > Signed-off-by: John Garry <john.garry@huawei.com>
    > ---
    > drivers/scsi/hisi_sas/hisi_sas_main.c | 8 +++++++-
    > 1 file changed, 7 insertions(+), 1 deletion(-)
    >
    > diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
    > index 2194917..c600f5e 100644
    > --- a/drivers/scsi/hisi_sas/hisi_sas_main.c
    > +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
    > @@ -661,12 +661,18 @@ static int hisi_sas_exec_internal_tmf_task(struct domain_device *device,
    > }
    >
    > if (task->task_status.resp == SAS_TASK_COMPLETE &&
    > - task->task_status.stat == SAM_STAT_GOOD) {
    > + task->task_status.stat == TMF_RESP_FUNC_COMPLETE) {
    > res = TMF_RESP_FUNC_COMPLETE;
    > break;
    > }
    >
    > if (task->task_status.resp == SAS_TASK_COMPLETE &&
    > + task->task_status.stat == TMF_RESP_FUNC_SUCC) {
    > + res = TMF_RESP_FUNC_SUCC;
    > + break;
    > + }
    > +
    > + if (task->task_status.resp == SAS_TASK_COMPLETE &&
    > task->task_status.stat == SAS_DATA_UNDERRUN) {
    > /* no error, but return the number of bytes of
    > * underrun
    >
    Reviewed-by: Hannes Reinecke <hare@suse.com>

    Cheers,

    Hannes
    --
    Dr. Hannes Reinecke Teamlead Storage & Networking
    hare@suse.de +49 911 74053 688
    SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
    GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
    HRB 21284 (AG Nürnberg)

    \
     
     \ /
      Last update: 2016-02-16 16:41    [W:3.869 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site