RDMA/hns: Make the end of sge process more clear
Instead of i with the sge number of wr will make the comparision more clear, that is, when the sge number in wr is small than the maximum supported sge number in the queue, then a stop sge needed to be filled at the end of sges in wr. Link: https://lore.kernel.org/r/1590152579-32364-5-git-send-email-liweihang@huawei.com Signed-off-by: Yixian Liu <liuyixian@huawei.com> Signed-off-by: Weihang Li <liweihang@huawei.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
Родитель
e4aaf4bad4
Коммит
e1b43f07c0
|
@ -646,7 +646,7 @@ static int hns_roce_v2_post_recv(struct ib_qp *ibqp,
|
|||
dseg++;
|
||||
}
|
||||
|
||||
if (i < hr_qp->rq.max_gs) {
|
||||
if (wr->num_sge < hr_qp->rq.max_gs) {
|
||||
dseg->lkey = cpu_to_le32(HNS_ROCE_INVALID_LKEY);
|
||||
dseg->addr = 0;
|
||||
dseg->len = cpu_to_le32(HNS_ROCE_INVALID_SGE_LENGTH);
|
||||
|
@ -782,7 +782,7 @@ static int hns_roce_v2_post_srq_recv(struct ib_srq *ibsrq,
|
|||
dseg[i].addr = cpu_to_le64(wr->sg_list[i].addr);
|
||||
}
|
||||
|
||||
if (i < srq->max_gs) {
|
||||
if (wr->num_sge < srq->max_gs) {
|
||||
dseg[i].len = cpu_to_le32(HNS_ROCE_INVALID_SGE_LENGTH);
|
||||
dseg[i].lkey = cpu_to_le32(HNS_ROCE_INVALID_LKEY);
|
||||
dseg[i].addr = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче