OSDN Git Service

RDMA/hns: Fix 0-length sge calculation error
authorLang Cheng <chenglang@huawei.com>
Sat, 28 Nov 2020 10:22:37 +0000 (18:22 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 2 Dec 2020 00:58:42 +0000 (20:58 -0400)
commit0fd0175e30e487f8d70ecb2cdd67fbb514fdf50f
tree220ef725437d361f3252e711c1aa1fd8a852d09d
parent1d11d26cf0d6974551049a3d7353ee1336b8632e
RDMA/hns: Fix 0-length sge calculation error

One RC SQ WQE can store 2 sges but UD can't, so ignore 2 valid sges of
wr.sglist for RC which have been filled in WQE before setting extended
sge.  Either of RC and UD can not contain 0-length sges, so these 0-length
sges should be skipped.

Fixes: 54d6638765b0 ("RDMA/hns: Optimize WQE buffer size calculating process")
Link: https://lore.kernel.org/r/1606558959-48510-2-git-send-email-liweihang@huawei.com
Signed-off-by: Lang Cheng <chenglang@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c