RDMA/nes: In nes_post_send() always set bad_wr on error
PATCH 1/9 RDMA/nes: In nes_post_send() always set bad_wr on error
From: Frank Zago <[email protected]>
On error set bad_wr in nes_post_send(). 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 | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
drivers/infiniband/hw/nes/nes_verbs.c +8 -2
@@ -3386,8 +3386,10 @@ static int nes_post_send(struct ib_qp *ibqp, struct ib_send_wr *ib_wr, wqe_count =0 ; total_payload_length =0 ; -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);
@@ -3498,6 +3500,9 @@ static int nes_post_send(struct ib_qp *ibqp, struct ib_send_wr *ib_wr,break ; } +if (err) +break ; +if (ib_wr->send_flags &IB_SEND_SIGNALED ) { wqe_misc |=NES_IWARP_SQ_WQE_SIGNALED_COMPL ; }
@@ -3522,6 +3527,7 @@ static int nes_post_send(struct ib_qp *ibqp, struct ib_send_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