mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-18 10:34:24 +08:00
[PATCH] IB/mthca: Fix posting work requests to shared receive queues
The error handling paths in mthca_tavor_post_srq_recv() and mthca_arbel_post_srq_recv() are quite bogus, the result of a screwed up merge. Fix them so they work as intended. Pointed out by Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
c915033fc6
commit
3853194c2e
@ -409,7 +409,7 @@ int mthca_tavor_post_srq_recv(struct ib_srq *ibsrq, struct ib_recv_wr *wr,
|
||||
mthca_err(dev, "SRQ %06x full\n", srq->srqn);
|
||||
err = -ENOMEM;
|
||||
*bad_wr = wr;
|
||||
return nreq;
|
||||
break;
|
||||
}
|
||||
|
||||
wqe = get_wqe(srq, ind);
|
||||
@ -427,7 +427,7 @@ int mthca_tavor_post_srq_recv(struct ib_srq *ibsrq, struct ib_recv_wr *wr,
|
||||
err = -EINVAL;
|
||||
*bad_wr = wr;
|
||||
srq->last = prev_wqe;
|
||||
return nreq;
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; i < wr->num_sge; ++i) {
|
||||
@ -456,8 +456,6 @@ int mthca_tavor_post_srq_recv(struct ib_srq *ibsrq, struct ib_recv_wr *wr,
|
||||
srq->first_free = next_ind;
|
||||
}
|
||||
|
||||
return nreq;
|
||||
|
||||
if (likely(nreq)) {
|
||||
__be32 doorbell[2];
|
||||
|
||||
@ -501,7 +499,7 @@ int mthca_arbel_post_srq_recv(struct ib_srq *ibsrq, struct ib_recv_wr *wr,
|
||||
mthca_err(dev, "SRQ %06x full\n", srq->srqn);
|
||||
err = -ENOMEM;
|
||||
*bad_wr = wr;
|
||||
return nreq;
|
||||
break;
|
||||
}
|
||||
|
||||
wqe = get_wqe(srq, ind);
|
||||
@ -517,7 +515,7 @@ int mthca_arbel_post_srq_recv(struct ib_srq *ibsrq, struct ib_recv_wr *wr,
|
||||
if (unlikely(wr->num_sge > srq->max_gs)) {
|
||||
err = -EINVAL;
|
||||
*bad_wr = wr;
|
||||
return nreq;
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; i < wr->num_sge; ++i) {
|
||||
|
Loading…
Reference in New Issue
Block a user