lkml.org 
[lkml]   [2021]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 005/103] RDMA/hns: Avoid filling sl in high 3 bits of vlan_id
    Date
    From: Weihang Li <liweihang@huawei.com>

    [ Upstream commit 94a8c4dfcdb2b4fcb3dfafc39c1033a0b4637c86 ]

    Only the low 12 bits of vlan_id is valid, and service level has been
    filled in Address Vector. So there is no need to fill sl in vlan_id in
    Address Vector.

    Fixes: 7406c0036f85 ("RDMA/hns: Only record vlan info for HIP08")
    Link: https://lore.kernel.org/r/1607650657-35992-5-git-send-email-liweihang@huawei.com
    Signed-off-by: Weihang Li <liweihang@huawei.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/infiniband/hw/hns/hns_roce_ah.c | 11 +----------
    1 file changed, 1 insertion(+), 10 deletions(-)

    diff --git a/drivers/infiniband/hw/hns/hns_roce_ah.c b/drivers/infiniband/hw/hns/hns_roce_ah.c
    index 7dd3b6097226f..174b19e397124 100644
    --- a/drivers/infiniband/hw/hns/hns_roce_ah.c
    +++ b/drivers/infiniband/hw/hns/hns_roce_ah.c
    @@ -36,9 +36,6 @@
    #include <rdma/ib_cache.h>
    #include "hns_roce_device.h"

    -#define VLAN_SL_MASK 7
    -#define VLAN_SL_SHIFT 13
    -
    static inline u16 get_ah_udp_sport(const struct rdma_ah_attr *ah_attr)
    {
    u32 fl = ah_attr->grh.flow_label;
    @@ -81,18 +78,12 @@ int hns_roce_create_ah(struct ib_ah *ibah, struct rdma_ah_init_attr *init_attr,

    /* HIP08 needs to record vlan info in Address Vector */
    if (hr_dev->pci_dev->revision <= PCI_REVISION_ID_HIP08) {
    - ah->av.vlan_en = 0;
    -
    ret = rdma_read_gid_l2_fields(ah_attr->grh.sgid_attr,
    &ah->av.vlan_id, NULL);
    if (ret)
    return ret;

    - if (ah->av.vlan_id < VLAN_N_VID) {
    - ah->av.vlan_en = 1;
    - ah->av.vlan_id |= (rdma_ah_get_sl(ah_attr) & VLAN_SL_MASK) <<
    - VLAN_SL_SHIFT;
    - }
    + ah->av.vlan_en = ah->av.vlan_id < VLAN_N_VID;
    }

    return ret;
    --
    2.27.0


    \
     
     \ /
      Last update: 2021-01-15 13:41    [W:4.220 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site