提交 4187b915 编写于 作者: R Ralph Campbell 提交者: Roland Dreier

IB/ipath: Normalize error return codes for posting work requests

The error codes for ib_post_send(), ib_post_recv(), and ib_post_srq_recv()
were inconsistent. Use EINVAL for too many SGEs and ENOMEM for too many
WRs.
Signed-off-by: NRalph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: NRoland Dreier <rolandd@cisco.com>
上级 14de986a
...@@ -59,7 +59,7 @@ int ipath_post_srq_receive(struct ib_srq *ibsrq, struct ib_recv_wr *wr, ...@@ -59,7 +59,7 @@ int ipath_post_srq_receive(struct ib_srq *ibsrq, struct ib_recv_wr *wr,
if ((unsigned) wr->num_sge > srq->rq.max_sge) { if ((unsigned) wr->num_sge > srq->rq.max_sge) {
*bad_wr = wr; *bad_wr = wr;
ret = -ENOMEM; ret = -EINVAL;
goto bail; goto bail;
} }
......
...@@ -302,8 +302,10 @@ static int ipath_post_one_send(struct ipath_qp *qp, struct ib_send_wr *wr) ...@@ -302,8 +302,10 @@ static int ipath_post_one_send(struct ipath_qp *qp, struct ib_send_wr *wr)
next = qp->s_head + 1; next = qp->s_head + 1;
if (next >= qp->s_size) if (next >= qp->s_size)
next = 0; next = 0;
if (next == qp->s_last) if (next == qp->s_last) {
goto bail_inval; ret = -ENOMEM;
goto bail;
}
wqe = get_swqe_ptr(qp, qp->s_head); wqe = get_swqe_ptr(qp, qp->s_head);
wqe->wr = *wr; wqe->wr = *wr;
...@@ -404,7 +406,7 @@ static int ipath_post_receive(struct ib_qp *ibqp, struct ib_recv_wr *wr, ...@@ -404,7 +406,7 @@ static int ipath_post_receive(struct ib_qp *ibqp, struct ib_recv_wr *wr,
if ((unsigned) wr->num_sge > qp->r_rq.max_sge) { if ((unsigned) wr->num_sge > qp->r_rq.max_sge) {
*bad_wr = wr; *bad_wr = wr;
ret = -ENOMEM; ret = -EINVAL;
goto bail; goto bail;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册