From: leonidk Date: Wed, 29 Mar 2006 18:08:06 +0000 (+0000) Subject: [MTHCA] Report completion error after filling WC X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=422babc23e8e07112fc3ccdf92028207cfd00352;p=~shefty%2Frdma-win.git [MTHCA] Report completion error after filling WC git-svn-id: svn://openib.tc.cornell.edu/gen1@260 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/trunk/hw/mthca/user/mlnx_uvp_cq.c b/trunk/hw/mthca/user/mlnx_uvp_cq.c index dfc587f5..9a3d7f23 100644 --- a/trunk/hw/mthca/user/mlnx_uvp_cq.c +++ b/trunk/hw/mthca/user/mlnx_uvp_cq.c @@ -356,13 +356,6 @@ static inline int mthca_poll_one(struct mthca_cq *cq, wq->last_comp = wqe_index; } - if (is_error) { - err = handle_error_cqe(cq, *cur_qp, wqe_index, is_send, - (struct mthca_err_cqe *) cqe, - entry, &free_cqe); - goto out; - } - if (is_send) { entry->recv.ud.recv_opt = 0; switch (cqe->opcode) { @@ -429,7 +422,14 @@ static inline int mthca_poll_one(struct mthca_cq *cq, IB_RECV_OPT_GRH_VALID : 0; } - entry->status = IB_WCS_SUCCESS; + + if (is_error) { + err = handle_error_cqe(cq, *cur_qp, wqe_index, is_send, + (struct mthca_err_cqe *) cqe, + entry, &free_cqe); + } + else + entry->status = IB_WCS_SUCCESS; out: if (likely(free_cqe)) {