lkml.org 
[lkml]   [2015]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.1 096/159] IB/srp: Handle partial connection success correctly
    Date
    4.1-stable review patch.  If anyone has any objections, please let me know.

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

    From: Bart Van Assche <bart.vanassche@sandisk.com>

    commit c257ea6f9f9aed0b173e0c2932bb8dac5612cdc6 upstream.

    Avoid that the following kernel warning is reported if the SRP
    target system accepts fewer channels per connection than what
    was requested by the initiator system:

    WARNING: at drivers/infiniband/ulp/srp/ib_srp.c:617 srp_destroy_qp+0xb1/0x120 [ib_srp]()
    Call Trace:
    [<ffffffff8105d67f>] warn_slowpath_common+0x7f/0xc0
    [<ffffffff8105d6da>] warn_slowpath_null+0x1a/0x20
    [<ffffffffa05419e1>] srp_destroy_qp+0xb1/0x120 [ib_srp]
    [<ffffffffa05445fb>] srp_create_ch_ib+0x19b/0x420 [ib_srp]
    [<ffffffffa0545257>] srp_create_target+0x7d7/0xa94 [ib_srp]
    [<ffffffff8138dac0>] dev_attr_store+0x20/0x30
    [<ffffffff812079ef>] sysfs_write_file+0xef/0x170
    [<ffffffff81191fc4>] vfs_write+0xb4/0x130
    [<ffffffff8119276f>] sys_write+0x5f/0xa0
    [<ffffffff815a0a59>] system_call_fastpath+0x16/0x1b

    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
    Cc: Sagi Grimberg <sagig@mellanox.com>
    Cc: Sebastian Parschauer <sebastian.riemer@profitbricks.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/infiniband/ulp/srp/ib_srp.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/infiniband/ulp/srp/ib_srp.c
    +++ b/drivers/infiniband/ulp/srp/ib_srp.c
    @@ -3266,7 +3266,7 @@ static ssize_t srp_create_target(struct
    srp_free_ch_ib(target, ch);
    srp_free_req_data(target, ch);
    target->ch_count = ch - target->ch;
    - break;
    + goto connected;
    }
    }

    @@ -3276,6 +3276,7 @@ static ssize_t srp_create_target(struct
    node_idx++;
    }

    +connected:
    target->scsi_host->nr_hw_queues = target->ch_count;

    ret = srp_add_target(host, target);



    \
     
     \ /
      Last update: 2015-09-27 00:01    [W:3.170 / U:0.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site