RDMA/nes: In nes_post_recv() always set bad_wr on error
PATCH 2/9 RDMA/nes: In nes_post_recv() always set bad_wr on error
From: Frank Zago <[email protected]>
On error set bad_wr in nes_post_recv(). Stop processing ib_wr queue when an error is detected.
Signed-off-by Frank Zago <[email protected]>
Signed-off-by Chien Tung <[email protected]>
--- drivers/infiniband/hw/nes/nes_verbs.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
drivers/infiniband/hw/nes/nes_verbs.c +5 -2
@@ -3554,8 +3554,10 @@ static int nes_post_recv(struct ib_qp *ibqp, struct ib_recv_wr *ib_wr,u32 counter;u32 total_payload_length; -if (nesqp->ibqp_state >IB_QPS_RTS ) -return -EINVAL ; +if (nesqp->ibqp_state >IB_QPS_RTS ) { + err = -EINVAL ; + goto out; + }spin_lock_irqsave (&nesqp->lock, flags);
@@ -3618,6 +3620,7 @@ static int nes_post_recv(struct ib_qp *ibqp, struct ib_recv_wr *ib_wr,spin_unlock_irqrestore (&nesqp->lock, flags); +out:if (err) *bad_wr = ib_wr;return err;
Signature · 6 lines
1.6.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html