Lines Matching refs:qhp
80 post_qp_event(struct iwch_dev *rnicp, struct iwch_qp *qhp, struct iwch_cq *chp,
90 if (!qhp) {
98 if ((qhp->attr.state == IWCH_QP_STATE_ERROR) ||
99 (qhp->attr.state == IWCH_QP_STATE_TERMINATE)) {
102 qhp->attr.state, qhp->wq.qpid, CQE_STATUS(rsp_msg->cqe));
115 if (qhp->attr.state == IWCH_QP_STATE_RTS) {
117 iwch_modify_qp(qhp->rhp, qhp, IWCH_QP_ATTR_NEXT_STATE,
120 iwch_post_terminate(qhp, rsp_msg);
128 event.element.qp = &qhp->ibqp;
130 if (qhp->ibqp.event_handler)
131 (*qhp->ibqp.event_handler)(&event, qhp->ibqp.qp_context);
141 struct iwch_qp *qhp;
146 qhp = get_qhp(rnicp, CQE_QPID(rsp_msg->cqe));
147 if (!chp || !qhp) {
157 iwch_qp_add_ref(&qhp->ibqp);
171 __FUNCTION__, qhp->wq.qpid, qhp->ep);
172 iwch_ep_disconnect(qhp->ep, 0, M_NOWAIT);
175 qhp->wq.qpid);
176 post_qp_event(rnicp, qhp, chp, rsp_msg,
178 iwch_ep_disconnect(qhp->ep, 0, M_NOWAIT);
186 post_qp_event(rnicp, qhp, chp, rsp_msg, IB_EVENT_QP_REQ_ERR, 1);
193 post_qp_event(rnicp, qhp, chp, rsp_msg, IB_EVENT_QP_REQ_ERR, 1);
205 if (qhp->ep && SQ_TYPE(rsp_msg->cqe))
206 dst_confirm(qhp->ep->dst);
219 post_qp_event(rnicp, qhp, chp, rsp_msg, IB_EVENT_QP_ACCESS_ERR, 1);
226 post_qp_event(rnicp, qhp, chp, rsp_msg, IB_EVENT_DEVICE_FATAL, 1);
246 post_qp_event(rnicp, qhp, chp, rsp_msg, IB_EVENT_QP_FATAL, 1);
251 CQE_STATUS(rsp_msg->cqe), qhp->wq.qpid);
252 post_qp_event(rnicp, qhp, chp, rsp_msg, IB_EVENT_QP_FATAL, 1);
260 iwch_qp_rem_ref(&qhp->ibqp);