Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04236df2 authored by Vipul Pandya's avatar Vipul Pandya Committed by Roland Dreier
Browse files

RDMA/cxgb4: Always log async errors



Log AEs even if the QP isn't in RTS.  It is useful information.

Signed-off-by: default avatarVipul Pandya <vipul@chelsio.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 325abead
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1419,9 +1419,9 @@ static int rx_data(struct c4iw_dev *dev, struct sk_buff *skb)
		BUG_ON(!ep->com.qp);
		if (ep->com.qp->attr.state == C4IW_QP_STATE_RTS)
			pr_err("%s Unexpected streaming data." \
			       " ep %p state %d tid %u status %d\n",
			       __func__, ep, state_read(&ep->com),
			       ep->hwtid, status);
			       " qpid %u ep %p state %d tid %u status %d\n",
			       __func__, ep->com.qp->wq.sq.qid, ep,
			       state_read(&ep->com), ep->hwtid, status);
		attrs.next_state = C4IW_QP_STATE_ERROR;
		c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
			       C4IW_QP_ATTR_NEXT_STATE, &attrs, 1);
+5 −3
Original line number Diff line number Diff line
@@ -46,9 +46,11 @@ static void post_qp_event(struct c4iw_dev *dev, struct c4iw_cq *chp,

	if ((qhp->attr.state == C4IW_QP_STATE_ERROR) ||
	    (qhp->attr.state == C4IW_QP_STATE_TERMINATE)) {
		PDBG("%s AE received after RTS - "
		     "qp state %d qpid 0x%x status 0x%x\n", __func__,
		     qhp->attr.state, qhp->wq.sq.qid, CQE_STATUS(err_cqe));
		pr_err("%s AE after RTS - qpid 0x%x opcode %d status 0x%x "\
		       "type %d wrid.hi 0x%x wrid.lo 0x%x\n",
		       __func__, CQE_QPID(err_cqe), CQE_OPCODE(err_cqe),
		       CQE_STATUS(err_cqe), CQE_TYPE(err_cqe),
		       CQE_WRID_HI(err_cqe), CQE_WRID_LOW(err_cqe));
		return;
	}