Lines Matching refs:com

154 	c4iw_qp_rem_ref(&ep->com.qp->ibqp);  in deref_qp()
155 clear_bit(QP_REFERENCED, &ep->com.flags); in deref_qp()
160 set_bit(QP_REFERENCED, &ep->com.flags); in ref_qp()
161 c4iw_qp_add_ref(&ep->com.qp->ibqp); in ref_qp()
172 clear_bit(TIMEOUT, &ep->com.flags); in start_ep_timer()
173 c4iw_get_ep(&ep->com); in start_ep_timer()
184 if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) { in stop_ep_timer()
185 c4iw_put_ep(&ep->com); in stop_ep_timer()
239 ep->emss = ep->com.dev->rdev.lldi.mtus[TCPOPT_MSS_G(opt)] - in set_emss()
240 ((AF_INET == ep->com.remote_addr.ss_family) ? in set_emss()
297 ep = container_of(kref, struct c4iw_ep, com.kref); in _c4iw_free_ep()
298 PDBG("%s ep %p state %s\n", __func__, ep, states[state_read(&ep->com)]); in _c4iw_free_ep()
299 if (test_bit(QP_REFERENCED, &ep->com.flags)) in _c4iw_free_ep()
301 if (test_bit(RELEASE_RESOURCES, &ep->com.flags)) { in _c4iw_free_ep()
302 if (ep->com.remote_addr.ss_family == AF_INET6) { in _c4iw_free_ep()
305 &ep->com.mapped_local_addr; in _c4iw_free_ep()
308 ep->com.dev->rdev.lldi.ports[0], in _c4iw_free_ep()
312 remove_handle(ep->com.dev, &ep->com.dev->hwtid_idr, ep->hwtid); in _c4iw_free_ep()
313 cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, ep->hwtid); in _c4iw_free_ep()
317 if (test_bit(RELEASE_MAPINFO, &ep->com.flags)) { in _c4iw_free_ep()
318 print_addr(&ep->com, __func__, "remove_mapinfo/mapping"); in _c4iw_free_ep()
319 iwpm_remove_mapinfo(&ep->com.local_addr, in _c4iw_free_ep()
320 &ep->com.mapped_local_addr); in _c4iw_free_ep()
321 iwpm_remove_mapping(&ep->com.local_addr, RDMA_NL_C4IW); in _c4iw_free_ep()
328 set_bit(RELEASE_RESOURCES, &ep->com.flags); in release_ep_resources()
329 c4iw_put_ep(&ep->com); in release_ep_resources()
455 state_set(&ep->com, DEAD); in act_open_req_arp_failure()
456 if (ep->com.remote_addr.ss_family == AF_INET6) { in act_open_req_arp_failure()
458 (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in act_open_req_arp_failure()
459 cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0], in act_open_req_arp_failure()
462 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, ep->atid); in act_open_req_arp_failure()
463 cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid); in act_open_req_arp_failure()
466 c4iw_put_ep(&ep->com); in act_open_req_arp_failure()
499 (ep->com.dev->rdev.lldi.pf)); in send_flowc()
524 c4iw_ofld_send(&ep->com.dev->rdev, skb); in send_flowc()
546 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_halfclose()
562 t4_set_arp_err_handler(skb, &ep->com.dev->rdev, abort_arp_failure); in send_abort()
568 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_abort()
577 memcpy(&pm_msg->loc_addr, &ep->com.local_addr, in c4iw_form_pm_msg()
578 sizeof(ep->com.local_addr)); in c4iw_form_pm_msg()
579 memcpy(&pm_msg->rem_addr, &ep->com.remote_addr, in c4iw_form_pm_msg()
580 sizeof(ep->com.remote_addr)); in c4iw_form_pm_msg()
597 memcpy(&ep->com.mapped_local_addr, &pm_msg->mapped_loc_addr, in c4iw_record_pm_msg()
598 sizeof(ep->com.mapped_local_addr)); in c4iw_record_pm_msg()
599 memcpy(&ep->com.mapped_remote_addr, &pm_msg->mapped_rem_addr, in c4iw_record_pm_msg()
600 sizeof(ep->com.mapped_remote_addr)); in c4iw_record_pm_msg()
607 print_addr(&parent_ep->com, __func__, "get_remote_addr parent_ep "); in get_remote_addr()
608 print_addr(&child_ep->com, __func__, "get_remote_addr child_ep "); in get_remote_addr()
610 ret = iwpm_get_remote_info(&parent_ep->com.mapped_local_addr, in get_remote_addr()
611 &child_ep->com.mapped_remote_addr, in get_remote_addr()
612 &child_ep->com.remote_addr, RDMA_NL_C4IW); in get_remote_addr()
648 &ep->com.mapped_local_addr; in send_connect()
650 &ep->com.mapped_remote_addr; in send_connect()
652 &ep->com.mapped_local_addr; in send_connect()
654 &ep->com.mapped_remote_addr; in send_connect()
656 enum chip_type adapter_type = ep->com.dev->rdev.lldi.adapter_type; in send_connect()
678 wrlen = (ep->com.remote_addr.ss_family == AF_INET) ? in send_connect()
692 best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx, in send_connect()
694 (AF_INET == ep->com.remote_addr.ss_family) ? 0 : 1); in send_connect()
734 if (ep->com.remote_addr.ss_family == AF_INET6) in send_connect()
735 cxgb4_clip_get(ep->com.dev->rdev.lldi.ports[0], in send_connect()
740 if (ep->com.remote_addr.ss_family == AF_INET) { in send_connect()
774 if (is_t4(ep->com.dev->rdev.lldi.adapter_type)) { in send_connect()
776 ep->com.dev->rdev.lldi.ports[0], in send_connect()
782 ep->com.dev->rdev.lldi.ports[0], in send_connect()
824 if (is_t4(ep->com.dev->rdev.lldi.adapter_type)) { in send_connect()
826 ep->com.dev->rdev.lldi.ports[0], in send_connect()
832 ep->com.dev->rdev.lldi.ports[0], in send_connect()
840 set_bit(ACT_OPEN_REQ, &ep->com.history); in send_connect()
841 ret = c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_connect()
843 if (ret && ep->com.remote_addr.ss_family == AF_INET6) in send_connect()
844 cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0], in send_connect()
936 c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_mpa_req()
938 __state_set(&ep->com, MPA_REQ_SENT); in send_mpa_req()
1021 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_mpa_reject()
1104 __state_set(&ep->com, MPA_REP_SENT); in send_mpa_reply()
1106 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_mpa_reply()
1122 mutex_lock(&ep->com.mutex); in act_establish()
1136 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, atid); in act_establish()
1138 set_bit(ACT_ESTAB, &ep->com.history); in act_establish()
1146 mutex_unlock(&ep->com.mutex); in act_establish()
1158 if (ep->com.cm_id) { in close_complete_upcall()
1160 ep, ep->com.cm_id, ep->hwtid); in close_complete_upcall()
1161 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in close_complete_upcall()
1162 ep->com.cm_id->rem_ref(ep->com.cm_id); in close_complete_upcall()
1163 ep->com.cm_id = NULL; in close_complete_upcall()
1164 set_bit(CLOSE_UPCALL, &ep->com.history); in close_complete_upcall()
1171 __state_set(&ep->com, ABORTING); in abort_connection()
1172 set_bit(ABORT_CONN, &ep->com.history); in abort_connection()
1183 if (ep->com.cm_id) { in peer_close_upcall()
1185 ep, ep->com.cm_id, ep->hwtid); in peer_close_upcall()
1186 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in peer_close_upcall()
1187 set_bit(DISCONN_UPCALL, &ep->com.history); in peer_close_upcall()
1199 if (ep->com.cm_id) { in peer_abort_upcall()
1201 ep->com.cm_id, ep->hwtid); in peer_abort_upcall()
1202 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in peer_abort_upcall()
1203 ep->com.cm_id->rem_ref(ep->com.cm_id); in peer_abort_upcall()
1204 ep->com.cm_id = NULL; in peer_abort_upcall()
1205 set_bit(ABORT_UPCALL, &ep->com.history); in peer_abort_upcall()
1217 memcpy(&event.local_addr, &ep->com.local_addr, in connect_reply_upcall()
1218 sizeof(ep->com.local_addr)); in connect_reply_upcall()
1219 memcpy(&event.remote_addr, &ep->com.remote_addr, in connect_reply_upcall()
1220 sizeof(ep->com.remote_addr)); in connect_reply_upcall()
1234 event.ord = cur_max_read_depth(ep->com.dev); in connect_reply_upcall()
1235 event.ird = cur_max_read_depth(ep->com.dev); in connect_reply_upcall()
1244 set_bit(CONN_RPL_UPCALL, &ep->com.history); in connect_reply_upcall()
1245 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in connect_reply_upcall()
1248 ep->com.cm_id->rem_ref(ep->com.cm_id); in connect_reply_upcall()
1249 ep->com.cm_id = NULL; in connect_reply_upcall()
1261 memcpy(&event.local_addr, &ep->com.local_addr, in connect_request_upcall()
1262 sizeof(ep->com.local_addr)); in connect_request_upcall()
1263 memcpy(&event.remote_addr, &ep->com.remote_addr, in connect_request_upcall()
1264 sizeof(ep->com.remote_addr)); in connect_request_upcall()
1276 event.ord = cur_max_read_depth(ep->com.dev); in connect_request_upcall()
1277 event.ird = cur_max_read_depth(ep->com.dev); in connect_request_upcall()
1281 c4iw_get_ep(&ep->com); in connect_request_upcall()
1282 ret = ep->parent_ep->com.cm_id->event_handler(ep->parent_ep->com.cm_id, in connect_request_upcall()
1285 c4iw_put_ep(&ep->com); in connect_request_upcall()
1286 set_bit(CONNREQ_UPCALL, &ep->com.history); in connect_request_upcall()
1287 c4iw_put_ep(&ep->parent_ep->com); in connect_request_upcall()
1300 if (ep->com.cm_id) { in established_upcall()
1302 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in established_upcall()
1303 set_bit(ESTAB_UPCALL, &ep->com.history); in established_upcall()
1337 c4iw_ofld_send(&ep->com.dev->rdev, skb); in update_rx_credits()
1437 __state_set(&ep->com, FPDU_MODE); in process_mpa_reply()
1464 ep->com.dev->rdev.lldi.max_ordird_qp) in process_mpa_reply()
1529 err = c4iw_modify_qp(ep->com.qp->rhp, in process_mpa_reply()
1530 ep->com.qp, mask, &attrs, 1); in process_mpa_reply()
1544 err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in process_mpa_reply()
1564 err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in process_mpa_reply()
1572 __state_set(&ep->com, ABORTING); in process_mpa_reply()
1713 __state_set(&ep->com, MPA_REQ_RCVD); in process_mpa_request()
1716 mutex_lock_nested(&ep->parent_ep->com.mutex, in process_mpa_request()
1718 if (ep->parent_ep->com.state != DEAD) { in process_mpa_request()
1724 mutex_unlock(&ep->parent_ep->com.mutex); in process_mpa_request()
1745 mutex_lock(&ep->com.mutex); in rx_data()
1750 switch (ep->com.state) { in rx_data()
1761 BUG_ON(!ep->com.qp); in rx_data()
1765 __func__, ep->com.qp->wq.sq.qid, ep, in rx_data()
1766 ep->com.state, ep->hwtid, status); in rx_data()
1768 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in rx_data()
1776 mutex_unlock(&ep->com.mutex); in rx_data()
1796 mutex_lock(&ep->com.mutex); in abort_rpl()
1797 switch (ep->com.state) { in abort_rpl()
1799 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in abort_rpl()
1800 __state_set(&ep->com, DEAD); in abort_rpl()
1805 __func__, ep, ep->com.state); in abort_rpl()
1808 mutex_unlock(&ep->com.mutex); in abort_rpl()
1830 ep->com.dev->rdev.lldi.ports[0], in send_fw_act_open_req()
1832 sin = (struct sockaddr_in *)&ep->com.mapped_local_addr; in send_fw_act_open_req()
1835 sin = (struct sockaddr_in *)&ep->com.mapped_remote_addr; in send_fw_act_open_req()
1845 best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx, in send_fw_act_open_req()
1847 (AF_INET == ep->com.remote_addr.ss_family) ? 0 : 1); in send_fw_act_open_req()
1871 TX_QUEUE_V(ep->com.dev->rdev.lldi.tx_modq[ep->tx_chan]) | in send_fw_act_open_req()
1884 set_bit(ACT_OFLD_CONN, &ep->com.history); in send_fw_act_open_req()
1885 c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_fw_act_open_req()
2016 &ep->com.cm_id->local_addr; in c4iw_reconnect()
2018 &ep->com.cm_id->remote_addr; in c4iw_reconnect()
2020 &ep->com.cm_id->local_addr; in c4iw_reconnect()
2022 &ep->com.cm_id->remote_addr; in c4iw_reconnect()
2026 PDBG("%s qp %p cm_id %p\n", __func__, ep->com.qp, ep->com.cm_id); in c4iw_reconnect()
2032 ep->atid = cxgb4_alloc_atid(ep->com.dev->rdev.lldi.tids, ep); in c4iw_reconnect()
2038 insert_handle(ep->com.dev, &ep->com.dev->atid_idr, ep, ep->atid); in c4iw_reconnect()
2041 if (ep->com.cm_id->local_addr.ss_family == AF_INET) { in c4iw_reconnect()
2042 ep->dst = find_route(ep->com.dev, laddr->sin_addr.s_addr, in c4iw_reconnect()
2048 ep->dst = find_route6(ep->com.dev, laddr6->sin6_addr.s6_addr, in c4iw_reconnect()
2060 err = import_ep(ep, iptype, ra, ep->dst, ep->com.dev, false, in c4iw_reconnect()
2061 ep->com.dev->rdev.lldi.adapter_type); in c4iw_reconnect()
2071 state_set(&ep->com, CONNECTING); in c4iw_reconnect()
2083 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, ep->atid); in c4iw_reconnect()
2084 cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid); in c4iw_reconnect()
2093 c4iw_put_ep(&ep->com); in c4iw_reconnect()
2112 la = (struct sockaddr_in *)&ep->com.mapped_local_addr; in act_open_rpl()
2113 ra = (struct sockaddr_in *)&ep->com.mapped_remote_addr; in act_open_rpl()
2114 la6 = (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in act_open_rpl()
2115 ra6 = (struct sockaddr_in6 *)&ep->com.mapped_remote_addr; in act_open_rpl()
2130 set_bit(ACT_OPEN_RPL, &ep->com.history); in act_open_rpl()
2143 if (ep->com.local_addr.ss_family == AF_INET && in act_open_rpl()
2153 set_bit(ACT_RETRY_INUSE, &ep->com.history); in act_open_rpl()
2154 if (ep->com.remote_addr.ss_family == AF_INET6) { in act_open_rpl()
2157 &ep->com.mapped_local_addr; in act_open_rpl()
2159 ep->com.dev->rdev.lldi.ports[0], in act_open_rpl()
2163 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, in act_open_rpl()
2173 if (ep->com.local_addr.ss_family == AF_INET) { in act_open_rpl()
2188 state_set(&ep->com, DEAD); in act_open_rpl()
2190 if (ep->com.remote_addr.ss_family == AF_INET6) { in act_open_rpl()
2192 (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in act_open_rpl()
2193 cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0], in act_open_rpl()
2197 cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, GET_TID(rpl)); in act_open_rpl()
2199 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, atid); in act_open_rpl()
2203 c4iw_put_ep(&ep->com); in act_open_rpl()
2221 c4iw_wake_up(&ep->com.wr_wait, status2errno(rpl->status)); in pass_open_rpl()
2235 c4iw_wake_up(&ep->com.wr_wait, status2errno(rpl->status)); in close_listsrv_rpl()
2249 enum chip_type adapter_type = ep->com.dev->rdev.lldi.adapter_type; in accept_cr()
2267 best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx, in accept_cr()
2269 (AF_INET == ep->com.remote_addr.ss_family) ? 0 : 1); in accept_cr()
2329 c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in accept_cr()
2401 if (state_read(&parent_ep->com) != LISTEN) { in pass_accept_req()
2407 get_4tuple(req, parent_ep->com.dev->rdev.lldi.adapter_type, &iptype, in pass_accept_req()
2427 &parent_ep->com.local_addr)->sin6_scope_id); in pass_accept_req()
2444 parent_ep->com.dev->rdev.lldi.adapter_type); in pass_accept_req()
2458 state_set(&child_ep->com, CONNECTING); in pass_accept_req()
2459 child_ep->com.dev = dev; in pass_accept_req()
2460 child_ep->com.cm_id = NULL; in pass_accept_req()
2473 &child_ep->com.mapped_local_addr; in pass_accept_req()
2479 sin = (struct sockaddr_in *)&child_ep->com.local_addr; in pass_accept_req()
2482 &parent_ep->com.local_addr)->sin_port; in pass_accept_req()
2485 sin = (struct sockaddr_in *)&child_ep->com.mapped_remote_addr; in pass_accept_req()
2490 sin6 = (struct sockaddr_in6 *)&child_ep->com.mapped_local_addr; in pass_accept_req()
2495 sin6 = (struct sockaddr_in6 *)&child_ep->com.local_addr; in pass_accept_req()
2498 &parent_ep->com.local_addr)->sin6_port; in pass_accept_req()
2501 sin6 = (struct sockaddr_in6 *)&child_ep->com.mapped_remote_addr; in pass_accept_req()
2506 memcpy(&child_ep->com.remote_addr, &child_ep->com.mapped_remote_addr, in pass_accept_req()
2507 sizeof(child_ep->com.remote_addr)); in pass_accept_req()
2510 c4iw_get_ep(&parent_ep->com); in pass_accept_req()
2523 set_bit(PASS_ACCEPT_REQ, &child_ep->com.history); in pass_accept_req()
2525 sin6 = (struct sockaddr_in6 *)&child_ep->com.mapped_local_addr; in pass_accept_req()
2526 cxgb4_clip_get(child_ep->com.dev->rdev.lldi.ports[0], in pass_accept_req()
2554 state_set(&ep->com, MPA_REQ_WAIT); in pass_establish()
2557 set_bit(PASS_ESTAB, &ep->com.history); in pass_establish()
2577 set_bit(PEER_CLOSE, &ep->com.history); in peer_close()
2578 mutex_lock(&ep->com.mutex); in peer_close()
2579 switch (ep->com.state) { in peer_close()
2581 __state_set(&ep->com, CLOSING); in peer_close()
2584 __state_set(&ep->com, CLOSING); in peer_close()
2595 __state_set(&ep->com, CLOSING); in peer_close()
2597 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_close()
2600 __state_set(&ep->com, CLOSING); in peer_close()
2602 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_close()
2606 __state_set(&ep->com, CLOSING); in peer_close()
2608 ret = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in peer_close()
2619 __state_set(&ep->com, MORIBUND); in peer_close()
2624 if (ep->com.cm_id && ep->com.qp) { in peer_close()
2626 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in peer_close()
2630 __state_set(&ep->com, DEAD); in peer_close()
2640 mutex_unlock(&ep->com.mutex); in peer_close()
2672 ep->com.state); in peer_abort()
2673 set_bit(PEER_ABORT, &ep->com.history); in peer_abort()
2680 if (ep->com.state != MPA_REQ_SENT) in peer_abort()
2681 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_abort()
2683 mutex_lock(&ep->com.mutex); in peer_abort()
2684 switch (ep->com.state) { in peer_abort()
2717 if (ep->com.cm_id && ep->com.qp) { in peer_abort()
2719 ret = c4iw_modify_qp(ep->com.qp->rhp, in peer_abort()
2720 ep->com.qp, C4IW_QP_ATTR_NEXT_STATE, in peer_abort()
2733 mutex_unlock(&ep->com.mutex); in peer_abort()
2740 if (ep->com.state != ABORTING) { in peer_abort()
2741 __state_set(&ep->com, DEAD); in peer_abort()
2746 mutex_unlock(&ep->com.mutex); in peer_abort()
2760 c4iw_ofld_send(&ep->com.dev->rdev, rpl_skb); in peer_abort()
2765 if (ep->com.remote_addr.ss_family == AF_INET6) { in peer_abort()
2768 &ep->com.mapped_local_addr; in peer_abort()
2770 ep->com.dev->rdev.lldi.ports[0], in peer_abort()
2774 remove_handle(ep->com.dev, &ep->com.dev->hwtid_idr, ep->hwtid); in peer_abort()
2775 cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, ep->hwtid); in peer_abort()
2799 mutex_lock(&ep->com.mutex); in close_con_rpl()
2800 switch (ep->com.state) { in close_con_rpl()
2802 __state_set(&ep->com, MORIBUND); in close_con_rpl()
2806 if ((ep->com.cm_id) && (ep->com.qp)) { in close_con_rpl()
2808 c4iw_modify_qp(ep->com.qp->rhp, in close_con_rpl()
2809 ep->com.qp, in close_con_rpl()
2814 __state_set(&ep->com, DEAD); in close_con_rpl()
2824 mutex_unlock(&ep->com.mutex); in close_con_rpl()
2841 if (ep && ep->com.qp) { in terminate()
2843 ep->com.qp->wq.sq.qid); in terminate()
2845 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in terminate()
2871 __func__, ep, ep->hwtid, state_read(&ep->com)); in fw4_ack()
2879 state_read(&ep->com), ep->mpa_attr.initiator ? 1 : 0); in fw4_ack()
2893 mutex_lock(&ep->com.mutex); in c4iw_reject_cr()
2894 if (ep->com.state == DEAD) { in c4iw_reject_cr()
2895 mutex_unlock(&ep->com.mutex); in c4iw_reject_cr()
2896 c4iw_put_ep(&ep->com); in c4iw_reject_cr()
2899 set_bit(ULP_REJECT, &ep->com.history); in c4iw_reject_cr()
2900 BUG_ON(ep->com.state != MPA_REQ_RCVD); in c4iw_reject_cr()
2907 mutex_unlock(&ep->com.mutex); in c4iw_reject_cr()
2910 c4iw_put_ep(&ep->com); in c4iw_reject_cr()
2925 mutex_lock(&ep->com.mutex); in c4iw_accept_cr()
2926 if (ep->com.state == DEAD) { in c4iw_accept_cr()
2931 BUG_ON(ep->com.state != MPA_REQ_RCVD); in c4iw_accept_cr()
2934 set_bit(ULP_ACCEPT, &ep->com.history); in c4iw_accept_cr()
2935 if ((conn_param->ord > cur_max_read_depth(ep->com.dev)) || in c4iw_accept_cr()
2936 (conn_param->ird > cur_max_read_depth(ep->com.dev))) { in c4iw_accept_cr()
2983 ep->com.cm_id = cm_id; in c4iw_accept_cr()
2984 ep->com.qp = qp; in c4iw_accept_cr()
3001 err = c4iw_modify_qp(ep->com.qp->rhp, in c4iw_accept_cr()
3002 ep->com.qp, mask, &attrs, 1); in c4iw_accept_cr()
3010 __state_set(&ep->com, FPDU_MODE); in c4iw_accept_cr()
3012 mutex_unlock(&ep->com.mutex); in c4iw_accept_cr()
3013 c4iw_put_ep(&ep->com); in c4iw_accept_cr()
3016 ep->com.cm_id = NULL; in c4iw_accept_cr()
3020 mutex_unlock(&ep->com.mutex); in c4iw_accept_cr()
3021 c4iw_put_ep(&ep->com); in c4iw_accept_cr()
3124 ep->com.dev = dev; in c4iw_connect()
3125 ep->com.cm_id = cm_id; in c4iw_connect()
3126 ep->com.qp = get_qhp(dev, conn_param->qpn); in c4iw_connect()
3127 if (!ep->com.qp) { in c4iw_connect()
3134 ep->com.qp, cm_id); in c4iw_connect()
3147 memcpy(&ep->com.local_addr, &cm_id->local_addr, in c4iw_connect()
3148 sizeof(ep->com.local_addr)); in c4iw_connect()
3149 memcpy(&ep->com.remote_addr, &cm_id->remote_addr, in c4iw_connect()
3150 sizeof(ep->com.remote_addr)); in c4iw_connect()
3153 memcpy(&ep->com.mapped_local_addr, &cm_id->local_addr, in c4iw_connect()
3154 sizeof(ep->com.mapped_local_addr)); in c4iw_connect()
3155 memcpy(&ep->com.mapped_remote_addr, &cm_id->remote_addr, in c4iw_connect()
3156 sizeof(ep->com.mapped_remote_addr)); in c4iw_connect()
3173 if (iwpm_create_mapinfo(&ep->com.local_addr, in c4iw_connect()
3174 &ep->com.mapped_local_addr, RDMA_NL_C4IW)) { in c4iw_connect()
3175 iwpm_remove_mapping(&ep->com.local_addr, RDMA_NL_C4IW); in c4iw_connect()
3179 print_addr(&ep->com, __func__, "add_query/create_mapinfo"); in c4iw_connect()
3180 set_bit(RELEASE_MAPINFO, &ep->com.flags); in c4iw_connect()
3182 laddr = (struct sockaddr_in *)&ep->com.mapped_local_addr; in c4iw_connect()
3183 raddr = (struct sockaddr_in *)&ep->com.mapped_remote_addr; in c4iw_connect()
3184 laddr6 = (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in c4iw_connect()
3185 raddr6 = (struct sockaddr_in6 *) &ep->com.mapped_remote_addr; in c4iw_connect()
3236 err = import_ep(ep, iptype, ra, ep->dst, ep->com.dev, true, in c4iw_connect()
3237 ep->com.dev->rdev.lldi.adapter_type); in c4iw_connect()
3247 state_set(&ep->com, CONNECTING); in c4iw_connect()
3259 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, ep->atid); in c4iw_connect()
3260 cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid); in c4iw_connect()
3263 c4iw_put_ep(&ep->com); in c4iw_connect()
3272 &ep->com.mapped_local_addr; in create_server6()
3274 c4iw_init_wr_wait(&ep->com.wr_wait); in create_server6()
3275 err = cxgb4_create_server6(ep->com.dev->rdev.lldi.ports[0], in create_server6()
3278 ep->com.dev->rdev.lldi.rxq_ids[0]); in create_server6()
3280 err = c4iw_wait_for_reply(&ep->com.dev->rdev, in create_server6()
3281 &ep->com.wr_wait, in create_server6()
3290 cxgb4_clip_get(ep->com.dev->rdev.lldi.ports[0], in create_server6()
3299 &ep->com.mapped_local_addr; in create_server4()
3304 ep->com.dev->rdev.lldi.ports[0], ep->stid, in create_server4()
3306 ep->com.dev->rdev.lldi.rxq_ids[0], 0, 0); in create_server4()
3308 if (c4iw_fatal_error(&ep->com.dev->rdev)) { in create_server4()
3317 c4iw_init_wr_wait(&ep->com.wr_wait); in create_server4()
3318 err = cxgb4_create_server(ep->com.dev->rdev.lldi.ports[0], in create_server4()
3320 0, ep->com.dev->rdev.lldi.rxq_ids[0]); in create_server4()
3322 err = c4iw_wait_for_reply(&ep->com.dev->rdev, in create_server4()
3323 &ep->com.wr_wait, in create_server4()
3354 ep->com.cm_id = cm_id; in c4iw_create_listen()
3355 ep->com.dev = dev; in c4iw_create_listen()
3357 memcpy(&ep->com.local_addr, &cm_id->local_addr, in c4iw_create_listen()
3358 sizeof(ep->com.local_addr)); in c4iw_create_listen()
3364 ep->com.local_addr.ss_family == AF_INET) in c4iw_create_listen()
3379 memcpy(&ep->com.mapped_local_addr, &cm_id->local_addr, in c4iw_create_listen()
3380 sizeof(ep->com.mapped_local_addr)); in c4iw_create_listen()
3389 memcpy(&pm_msg.loc_addr, &ep->com.local_addr, in c4iw_create_listen()
3390 sizeof(ep->com.local_addr)); in c4iw_create_listen()
3396 memcpy(&ep->com.mapped_local_addr, in c4iw_create_listen()
3398 sizeof(ep->com.mapped_local_addr)); in c4iw_create_listen()
3400 if (iwpm_create_mapinfo(&ep->com.local_addr, in c4iw_create_listen()
3401 &ep->com.mapped_local_addr, RDMA_NL_C4IW)) { in c4iw_create_listen()
3405 print_addr(&ep->com, __func__, "add_mapping/create_mapinfo"); in c4iw_create_listen()
3407 set_bit(RELEASE_MAPINFO, &ep->com.flags); in c4iw_create_listen()
3408 state_set(&ep->com, LISTEN); in c4iw_create_listen()
3409 if (ep->com.local_addr.ss_family == AF_INET) in c4iw_create_listen()
3419 cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, in c4iw_create_listen()
3420 ep->com.local_addr.ss_family); in c4iw_create_listen()
3423 c4iw_put_ep(&ep->com); in c4iw_create_listen()
3437 state_set(&ep->com, DEAD); in c4iw_destroy_listen()
3438 if (ep->com.dev->rdev.lldi.enable_fw_ofld_conn && in c4iw_destroy_listen()
3439 ep->com.local_addr.ss_family == AF_INET) { in c4iw_destroy_listen()
3441 ep->com.dev->rdev.lldi.ports[0], ep->stid, in c4iw_destroy_listen()
3442 ep->com.dev->rdev.lldi.rxq_ids[0], 0); in c4iw_destroy_listen()
3445 c4iw_init_wr_wait(&ep->com.wr_wait); in c4iw_destroy_listen()
3447 ep->com.dev->rdev.lldi.ports[0], ep->stid, in c4iw_destroy_listen()
3448 ep->com.dev->rdev.lldi.rxq_ids[0], 0); in c4iw_destroy_listen()
3451 err = c4iw_wait_for_reply(&ep->com.dev->rdev, &ep->com.wr_wait, in c4iw_destroy_listen()
3453 sin6 = (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in c4iw_destroy_listen()
3454 cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0], in c4iw_destroy_listen()
3457 remove_handle(ep->com.dev, &ep->com.dev->stid_idr, ep->stid); in c4iw_destroy_listen()
3458 cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, in c4iw_destroy_listen()
3459 ep->com.local_addr.ss_family); in c4iw_destroy_listen()
3462 c4iw_put_ep(&ep->com); in c4iw_destroy_listen()
3473 mutex_lock(&ep->com.mutex); in c4iw_ep_disconnect()
3476 states[ep->com.state], abrupt); in c4iw_ep_disconnect()
3478 rdev = &ep->com.dev->rdev; in c4iw_ep_disconnect()
3482 ep->com.state = DEAD; in c4iw_ep_disconnect()
3484 switch (ep->com.state) { in c4iw_ep_disconnect()
3492 ep->com.state = ABORTING; in c4iw_ep_disconnect()
3494 ep->com.state = CLOSING; in c4iw_ep_disconnect()
3497 set_bit(CLOSE_SENT, &ep->com.flags); in c4iw_ep_disconnect()
3500 if (!test_and_set_bit(CLOSE_SENT, &ep->com.flags)) { in c4iw_ep_disconnect()
3504 ep->com.state = ABORTING; in c4iw_ep_disconnect()
3506 ep->com.state = MORIBUND; in c4iw_ep_disconnect()
3513 __func__, ep, ep->com.state); in c4iw_ep_disconnect()
3522 set_bit(EP_DISC_ABORT, &ep->com.history); in c4iw_ep_disconnect()
3526 set_bit(EP_DISC_CLOSE, &ep->com.history); in c4iw_ep_disconnect()
3532 mutex_unlock(&ep->com.mutex); in c4iw_ep_disconnect()
3551 set_bit(ACT_RETRY_NOMEM, &ep->com.history); in active_ofld_conn_reply()
3557 set_bit(ACT_RETRY_INUSE, &ep->com.history); in active_ofld_conn_reply()
3574 state_set(&ep->com, DEAD); in active_ofld_conn_reply()
3575 if (ep->com.remote_addr.ss_family == AF_INET6) { in active_ofld_conn_reply()
3577 (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in active_ofld_conn_reply()
3578 cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0], in active_ofld_conn_reply()
3585 c4iw_put_ep(&ep->com); in active_ofld_conn_reply()
3944 mutex_lock(&ep->com.mutex); in process_timeout()
3946 ep->com.state); in process_timeout()
3947 set_bit(TIMEDOUT, &ep->com.history); in process_timeout()
3948 switch (ep->com.state) { in process_timeout()
3950 __state_set(&ep->com, ABORTING); in process_timeout()
3954 __state_set(&ep->com, ABORTING); in process_timeout()
3958 if (ep->com.cm_id && ep->com.qp) { in process_timeout()
3960 c4iw_modify_qp(ep->com.qp->rhp, in process_timeout()
3961 ep->com.qp, C4IW_QP_ATTR_NEXT_STATE, in process_timeout()
3964 __state_set(&ep->com, ABORTING); in process_timeout()
3979 __func__, ep, ep->hwtid, ep->com.state); in process_timeout()
3984 mutex_unlock(&ep->com.mutex); in process_timeout()
3985 c4iw_put_ep(&ep->com); in process_timeout()
4038 if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) { in ep_timeout()
4137 ep->com.state); in peer_abort_intr()
4145 if (ep->com.state != MPA_REQ_SENT) in peer_abort_intr()
4146 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_abort_intr()
4148 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_abort_intr()