lkml.org 
[lkml]   [2011]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[03/68] [SCSI] mptfusion: Fix Incorrect return value in mptscsih_dev_reset
    2.6.32-longterm review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Kashyap, Desai <kashyap.desai@lsi.com>

    commit bcfe42e98047f1935c5571c8ea77beb2d43ec19d upstream.

    There's a branch at the end of this function that
    is supposed to normalize the return value with what
    the mid-layer expects. In this one case, we get it wrong.

    Also increase the verbosity of the INFO level printk
    at the end of mptscsih_abort to include the actual return value
    and the scmd->serial_number. The reason being success
    or failure is actually determined by the state of
    the internal tag list when a TMF is issued, and not the
    return value of the TMF cmd. The serial_number is also
    used in this decision, thus it's useful to know for debugging
    purposes.

    Reported-by: Peter M. Petrakis <peter.petrakis@canonical.com>
    Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/message/fusion/mptscsih.c | 7 ++++---
    1 file changed, 4 insertions(+), 3 deletions(-)

    --- a/drivers/message/fusion/mptscsih.c
    +++ b/drivers/message/fusion/mptscsih.c
    @@ -1835,8 +1835,9 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
    }

    out:
    - printk(MYIOC_s_INFO_FMT "task abort: %s (sc=%p)\n",
    - ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), SCpnt);
    + printk(MYIOC_s_INFO_FMT "task abort: %s (rv=%04x) (sc=%p) (sn=%ld)\n",
    + ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), retval,
    + SCpnt, SCpnt->serial_number);

    return retval;
    }
    @@ -1873,7 +1874,7 @@ mptscsih_dev_reset(struct scsi_cmnd * SC

    vdevice = SCpnt->device->hostdata;
    if (!vdevice || !vdevice->vtarget) {
    - retval = SUCCESS;
    + retval = 0;
    goto out;
    }




    \
     
     \ /
      Last update: 2011-02-28 17:39    [W:4.346 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site