lkml.org 
[lkml]   [2018]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.15 134/189] IB/core: Map iWarp AH type to undefined in rdma_ah_find_type
    Date
    From: Don Hiatt <don.hiatt@intel.com>

    [ Upstream commit 87daac68f77a3e21a1113f816e6a7be0b38bdde8 ]

    iWarp devices do not support the creation of address handles
    so return AH_ATTR_TYPE_UNDEFINED for all iWarp devices.

    While we are here reduce the size of port_num to u8 and add
    a comment.

    Fixes: 44c58487d51a ("IB/core: Define 'ib' and 'roce' rdma_ah_attr types")
    Reported-by: Parav Pandit <parav@mellanox.com>
    CC: Sean Hefty <sean.hefty@intel.com>
    Reviewed-by: Ira Weiny <ira.weiny@intel.com>
    Reviewed-by: Shiraz Saleem <shiraz.saleem@intel.com>
    Signed-off-by: Don Hiatt <don.hiatt@intel.com>
    Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    include/rdma/ib_verbs.h | 20 ++++++++++++++------
    1 file changed, 14 insertions(+), 6 deletions(-)

    diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
    index 20ebf9061962..411776de40e7 100644
    --- a/include/rdma/ib_verbs.h
    +++ b/include/rdma/ib_verbs.h
    @@ -878,6 +878,7 @@ struct ib_mr_status {
    __attribute_const__ enum ib_rate mult_to_ib_rate(int mult);

    enum rdma_ah_attr_type {
    + RDMA_AH_ATTR_TYPE_UNDEFINED,
    RDMA_AH_ATTR_TYPE_IB,
    RDMA_AH_ATTR_TYPE_ROCE,
    RDMA_AH_ATTR_TYPE_OPA,
    @@ -3789,17 +3790,24 @@ static inline void rdma_ah_set_grh(struct rdma_ah_attr *attr,
    grh->traffic_class = traffic_class;
    }

    -/*Get AH type */
    +/**
    + * rdma_ah_find_type - Return address handle type.
    + *
    + * @dev: Device to be checked
    + * @port_num: Port number
    + */
    static inline enum rdma_ah_attr_type rdma_ah_find_type(struct ib_device *dev,
    - u32 port_num)
    + u8 port_num)
    {
    if (rdma_protocol_roce(dev, port_num))
    return RDMA_AH_ATTR_TYPE_ROCE;
    - else if ((rdma_protocol_ib(dev, port_num)) &&
    - (rdma_cap_opa_ah(dev, port_num)))
    - return RDMA_AH_ATTR_TYPE_OPA;
    - else
    + if (rdma_protocol_ib(dev, port_num)) {
    + if (rdma_cap_opa_ah(dev, port_num))
    + return RDMA_AH_ATTR_TYPE_OPA;
    return RDMA_AH_ATTR_TYPE_IB;
    + }
    +
    + return RDMA_AH_ATTR_TYPE_UNDEFINED;
    }

    /**
    --
    2.15.1
    \
     
     \ /
      Last update: 2018-04-09 05:45    [W:3.317 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site