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

Commit 1557967b authored by Vipul Pandya's avatar Vipul Pandya Committed by Roland Dreier
Browse files

RDMA/cxgb4: Display streaming mode error only if detected in RTS



With later firmware, the chances of getting streaming mode data after
we exit RTS is likely, so we don't need to warn for it.  The only real
case where we don't expect it is when the QP is in RTS.

Move QP to ERROR when streaming mode data received.

Signed-off-by: default avatarVipul Pandya <vipul@chelsio.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 91e9c071
Loading
Loading
Loading
Loading
+14 −12
Original line number Diff line number Diff line
@@ -1403,21 +1403,23 @@ static int rx_data(struct c4iw_dev *dev, struct sk_buff *skb)
		ep->rcv_seq += dlen;
		process_mpa_request(ep, skb);
		break;
	default:
	case FPDU_MODE: {
		struct c4iw_qp_attributes attrs;
		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);

		if (ep->com.qp) {
			struct c4iw_qp_attributes attrs;

			       __func__, 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);
		}
		c4iw_ep_disconnect(ep, 1, GFP_KERNEL);
		break;
	}
	default:
		break;
	}
	return 0;
}