lkml.org 
[lkml]   [2014]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 059/170] ibmvscsi: Abort init sequence during error recovery
    Date
    From: Brian King <brking@linux.vnet.ibm.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit 9ee755974bea2f9880e517ec985dc9dede1b3a36 upstream.

    If a CRQ reset is triggered for some reason while in the middle
    of performing VSCSI adapter initialization, we don't want to
    call the done function for the initialization MAD commands as
    this will only result in two threads attempting initialization
    at the same time, resulting in failures.

    Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
    Acked-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    drivers/scsi/ibmvscsi/ibmvscsi.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
    index fa764406df68..c3d4991411b2 100644
    --- a/drivers/scsi/ibmvscsi/ibmvscsi.c
    +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
    @@ -797,7 +797,8 @@ static void purge_requests(struct ibmvscsi_host_data *hostdata, int error_code)
    evt->hostdata->dev);
    if (evt->cmnd_done)
    evt->cmnd_done(evt->cmnd);
    - } else if (evt->done)
    + } else if (evt->done && evt->crq.format != VIOSRP_MAD_FORMAT &&
    + evt->iu.srp.login_req.opcode != SRP_LOGIN_REQ)
    evt->done(evt);
    free_event_struct(&evt->hostdata->pool, evt);
    spin_lock_irqsave(hostdata->host->host_lock, flags);
    --
    2.0.0


    \
     
     \ /
      Last update: 2014-07-18 15:41    [W:4.129 / U:0.596 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site