diff options
author | Junxian Huang <huangjunxian4@hisilicon.com> | 2021-08-25 17:43:12 +0800 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2021-08-25 13:55:30 -0300 |
commit | eb653eda1e91dd3e7d1d2448d528d033dbfbe78f (patch) | |
tree | 4e4018f1f4590127fd22e7d5884b2fcb6eb324a0 /drivers/infiniband/sw | |
parent | 074f315fc54a9ce45559a44ca36d9fa1ee1ea2cd (diff) |
RDMA/hns: Bugfix for incorrect association between dip_idx and dgid
dip_idx and dgid should be a one-to-one mapping relationship, but when
qp_num loops back to the start number, it may happen that two different
dgid are assiociated to the same dip_idx incorrectly.
One solution is to store the qp_num that is not assigned to dip_idx in an
array. When a dip_idx needs to be allocated to a new dgid, an spare qp_num
is extracted and assigned to dip_idx.
Fixes: f91696f2f053 ("RDMA/hns: Support congestion control type selection according to the FW")
Link: https://lore.kernel.org/r/1629884592-23424-4-git-send-email-liangwenpeng@huawei.com
Signed-off-by: Junxian Huang <huangjunxian4@hisilicon.com>
Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband/sw')
0 files changed, 0 insertions, 0 deletions