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) {
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)) {