Lines Matching refs:com
153 c4iw_qp_rem_ref(&ep->com.qp->ibqp); in deref_qp()
154 clear_bit(QP_REFERENCED, &ep->com.flags); in deref_qp()
159 set_bit(QP_REFERENCED, &ep->com.flags); in ref_qp()
160 c4iw_qp_add_ref(&ep->com.qp->ibqp); in ref_qp()
171 clear_bit(TIMEOUT, &ep->com.flags); in start_ep_timer()
172 c4iw_get_ep(&ep->com); in start_ep_timer()
183 if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) { in stop_ep_timer()
184 c4iw_put_ep(&ep->com); in stop_ep_timer()
238 ep->emss = ep->com.dev->rdev.lldi.mtus[TCPOPT_MSS_G(opt)] - in set_emss()
239 ((AF_INET == ep->com.remote_addr.ss_family) ? in set_emss()
296 ep = container_of(kref, struct c4iw_ep, com.kref); in _c4iw_free_ep()
297 PDBG("%s ep %p state %s\n", __func__, ep, states[state_read(&ep->com)]); in _c4iw_free_ep()
298 if (test_bit(QP_REFERENCED, &ep->com.flags)) in _c4iw_free_ep()
300 if (test_bit(RELEASE_RESOURCES, &ep->com.flags)) { in _c4iw_free_ep()
301 remove_handle(ep->com.dev, &ep->com.dev->hwtid_idr, ep->hwtid); in _c4iw_free_ep()
302 cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, ep->hwtid); in _c4iw_free_ep()
306 if (test_bit(RELEASE_MAPINFO, &ep->com.flags)) { in _c4iw_free_ep()
307 print_addr(&ep->com, __func__, "remove_mapinfo/mapping"); in _c4iw_free_ep()
308 iwpm_remove_mapinfo(&ep->com.local_addr, in _c4iw_free_ep()
309 &ep->com.mapped_local_addr); in _c4iw_free_ep()
310 iwpm_remove_mapping(&ep->com.local_addr, RDMA_NL_C4IW); in _c4iw_free_ep()
317 set_bit(RELEASE_RESOURCES, &ep->com.flags); in release_ep_resources()
318 c4iw_put_ep(&ep->com); in release_ep_resources()
444 state_set(&ep->com, DEAD); in act_open_req_arp_failure()
445 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, ep->atid); in act_open_req_arp_failure()
446 cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid); in act_open_req_arp_failure()
449 c4iw_put_ep(&ep->com); in act_open_req_arp_failure()
482 (ep->com.dev->rdev.lldi.pf)); in send_flowc()
507 c4iw_ofld_send(&ep->com.dev->rdev, skb); in send_flowc()
529 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_halfclose()
545 t4_set_arp_err_handler(skb, &ep->com.dev->rdev, abort_arp_failure); in send_abort()
551 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_abort()
560 memcpy(&pm_msg->loc_addr, &ep->com.local_addr, in c4iw_form_pm_msg()
561 sizeof(ep->com.local_addr)); in c4iw_form_pm_msg()
562 memcpy(&pm_msg->rem_addr, &ep->com.remote_addr, in c4iw_form_pm_msg()
563 sizeof(ep->com.remote_addr)); in c4iw_form_pm_msg()
580 memcpy(&ep->com.mapped_local_addr, &pm_msg->mapped_loc_addr, in c4iw_record_pm_msg()
581 sizeof(ep->com.mapped_local_addr)); in c4iw_record_pm_msg()
582 memcpy(&ep->com.mapped_remote_addr, &pm_msg->mapped_rem_addr, in c4iw_record_pm_msg()
583 sizeof(ep->com.mapped_remote_addr)); in c4iw_record_pm_msg()
590 print_addr(&parent_ep->com, __func__, "get_remote_addr parent_ep "); in get_remote_addr()
591 print_addr(&child_ep->com, __func__, "get_remote_addr child_ep "); in get_remote_addr()
593 ret = iwpm_get_remote_info(&parent_ep->com.mapped_local_addr, in get_remote_addr()
594 &child_ep->com.mapped_remote_addr, in get_remote_addr()
595 &child_ep->com.remote_addr, RDMA_NL_C4IW); in get_remote_addr()
628 int sizev4 = is_t4(ep->com.dev->rdev.lldi.adapter_type) ? in send_connect()
631 int sizev6 = is_t4(ep->com.dev->rdev.lldi.adapter_type) ? in send_connect()
635 &ep->com.mapped_local_addr; in send_connect()
637 &ep->com.mapped_remote_addr; in send_connect()
639 &ep->com.mapped_local_addr; in send_connect()
641 &ep->com.mapped_remote_addr; in send_connect()
644 wrlen = (ep->com.remote_addr.ss_family == AF_INET) ? in send_connect()
658 best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx, in send_connect()
660 (AF_INET == ep->com.remote_addr.ss_family) ? 0 : 1); in send_connect()
691 if (is_t5(ep->com.dev->rdev.lldi.adapter_type)) { in send_connect()
698 if (is_t4(ep->com.dev->rdev.lldi.adapter_type)) { in send_connect()
699 if (ep->com.remote_addr.ss_family == AF_INET) { in send_connect()
711 ep->com.dev->rdev.lldi.ports[0], in send_connect()
733 ep->com.dev->rdev.lldi.ports[0], in send_connect()
743 if (ep->com.remote_addr.ss_family == AF_INET) { in send_connect()
757 ep->com.dev->rdev.lldi.ports[0], in send_connect()
783 ep->com.dev->rdev.lldi.ports[0], in send_connect()
792 set_bit(ACT_OPEN_REQ, &ep->com.history); in send_connect()
793 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_connect()
883 c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_mpa_req()
885 __state_set(&ep->com, MPA_REQ_SENT); in send_mpa_req()
968 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_mpa_reject()
1051 __state_set(&ep->com, MPA_REP_SENT); in send_mpa_reply()
1053 return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_mpa_reply()
1069 mutex_lock(&ep->com.mutex); in act_establish()
1083 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, atid); in act_establish()
1085 set_bit(ACT_ESTAB, &ep->com.history); in act_establish()
1093 mutex_unlock(&ep->com.mutex); in act_establish()
1105 if (ep->com.cm_id) { in close_complete_upcall()
1107 ep, ep->com.cm_id, ep->hwtid); in close_complete_upcall()
1108 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in close_complete_upcall()
1109 ep->com.cm_id->rem_ref(ep->com.cm_id); in close_complete_upcall()
1110 ep->com.cm_id = NULL; in close_complete_upcall()
1111 set_bit(CLOSE_UPCALL, &ep->com.history); in close_complete_upcall()
1118 __state_set(&ep->com, ABORTING); in abort_connection()
1119 set_bit(ABORT_CONN, &ep->com.history); in abort_connection()
1130 if (ep->com.cm_id) { in peer_close_upcall()
1132 ep, ep->com.cm_id, ep->hwtid); in peer_close_upcall()
1133 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in peer_close_upcall()
1134 set_bit(DISCONN_UPCALL, &ep->com.history); in peer_close_upcall()
1146 if (ep->com.cm_id) { in peer_abort_upcall()
1148 ep->com.cm_id, ep->hwtid); in peer_abort_upcall()
1149 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in peer_abort_upcall()
1150 ep->com.cm_id->rem_ref(ep->com.cm_id); in peer_abort_upcall()
1151 ep->com.cm_id = NULL; in peer_abort_upcall()
1152 set_bit(ABORT_UPCALL, &ep->com.history); in peer_abort_upcall()
1164 memcpy(&event.local_addr, &ep->com.local_addr, in connect_reply_upcall()
1165 sizeof(ep->com.local_addr)); in connect_reply_upcall()
1166 memcpy(&event.remote_addr, &ep->com.remote_addr, in connect_reply_upcall()
1167 sizeof(ep->com.remote_addr)); in connect_reply_upcall()
1187 set_bit(CONN_RPL_UPCALL, &ep->com.history); in connect_reply_upcall()
1188 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in connect_reply_upcall()
1191 ep->com.cm_id->rem_ref(ep->com.cm_id); in connect_reply_upcall()
1192 ep->com.cm_id = NULL; in connect_reply_upcall()
1204 memcpy(&event.local_addr, &ep->com.local_addr, in connect_request_upcall()
1205 sizeof(ep->com.local_addr)); in connect_request_upcall()
1206 memcpy(&event.remote_addr, &ep->com.remote_addr, in connect_request_upcall()
1207 sizeof(ep->com.remote_addr)); in connect_request_upcall()
1219 event.ord = cur_max_read_depth(ep->com.dev); in connect_request_upcall()
1220 event.ird = cur_max_read_depth(ep->com.dev); in connect_request_upcall()
1224 c4iw_get_ep(&ep->com); in connect_request_upcall()
1225 ret = ep->parent_ep->com.cm_id->event_handler(ep->parent_ep->com.cm_id, in connect_request_upcall()
1228 c4iw_put_ep(&ep->com); in connect_request_upcall()
1229 set_bit(CONNREQ_UPCALL, &ep->com.history); in connect_request_upcall()
1230 c4iw_put_ep(&ep->parent_ep->com); in connect_request_upcall()
1243 if (ep->com.cm_id) { in established_upcall()
1245 ep->com.cm_id->event_handler(ep->com.cm_id, &event); in established_upcall()
1246 set_bit(ESTAB_UPCALL, &ep->com.history); in established_upcall()
1280 c4iw_ofld_send(&ep->com.dev->rdev, skb); in update_rx_credits()
1380 __state_set(&ep->com, FPDU_MODE); in process_mpa_reply()
1407 ep->com.dev->rdev.lldi.max_ordird_qp) in process_mpa_reply()
1472 err = c4iw_modify_qp(ep->com.qp->rhp, in process_mpa_reply()
1473 ep->com.qp, mask, &attrs, 1); in process_mpa_reply()
1487 err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in process_mpa_reply()
1507 err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in process_mpa_reply()
1515 __state_set(&ep->com, ABORTING); in process_mpa_reply()
1656 __state_set(&ep->com, MPA_REQ_RCVD); in process_mpa_request()
1659 mutex_lock_nested(&ep->parent_ep->com.mutex, in process_mpa_request()
1661 if (ep->parent_ep->com.state != DEAD) { in process_mpa_request()
1667 mutex_unlock(&ep->parent_ep->com.mutex); in process_mpa_request()
1688 mutex_lock(&ep->com.mutex); in rx_data()
1693 switch (ep->com.state) { in rx_data()
1704 BUG_ON(!ep->com.qp); in rx_data()
1708 __func__, ep->com.qp->wq.sq.qid, ep, in rx_data()
1709 ep->com.state, ep->hwtid, status); in rx_data()
1711 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in rx_data()
1719 mutex_unlock(&ep->com.mutex); in rx_data()
1739 mutex_lock(&ep->com.mutex); in abort_rpl()
1740 switch (ep->com.state) { in abort_rpl()
1742 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in abort_rpl()
1743 __state_set(&ep->com, DEAD); in abort_rpl()
1748 __func__, ep, ep->com.state); in abort_rpl()
1751 mutex_unlock(&ep->com.mutex); in abort_rpl()
1773 ep->com.dev->rdev.lldi.ports[0], in send_fw_act_open_req()
1775 sin = (struct sockaddr_in *)&ep->com.mapped_local_addr; in send_fw_act_open_req()
1778 sin = (struct sockaddr_in *)&ep->com.mapped_remote_addr; in send_fw_act_open_req()
1788 best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx, in send_fw_act_open_req()
1790 (AF_INET == ep->com.remote_addr.ss_family) ? 0 : 1); in send_fw_act_open_req()
1814 TX_QUEUE_V(ep->com.dev->rdev.lldi.tx_modq[ep->tx_chan]) | in send_fw_act_open_req()
1827 set_bit(ACT_OFLD_CONN, &ep->com.history); in send_fw_act_open_req()
1828 c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in send_fw_act_open_req()
1957 &ep->com.cm_id->local_addr; in c4iw_reconnect()
1959 &ep->com.cm_id->remote_addr; in c4iw_reconnect()
1961 &ep->com.cm_id->local_addr; in c4iw_reconnect()
1963 &ep->com.cm_id->remote_addr; in c4iw_reconnect()
1967 PDBG("%s qp %p cm_id %p\n", __func__, ep->com.qp, ep->com.cm_id); in c4iw_reconnect()
1973 ep->atid = cxgb4_alloc_atid(ep->com.dev->rdev.lldi.tids, ep); in c4iw_reconnect()
1979 insert_handle(ep->com.dev, &ep->com.dev->atid_idr, ep, ep->atid); in c4iw_reconnect()
1982 if (ep->com.cm_id->local_addr.ss_family == AF_INET) { in c4iw_reconnect()
1983 ep->dst = find_route(ep->com.dev, laddr->sin_addr.s_addr, in c4iw_reconnect()
1989 ep->dst = find_route6(ep->com.dev, laddr6->sin6_addr.s6_addr, in c4iw_reconnect()
2001 err = import_ep(ep, iptype, ra, ep->dst, ep->com.dev, false); in c4iw_reconnect()
2011 state_set(&ep->com, CONNECTING); in c4iw_reconnect()
2023 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, ep->atid); in c4iw_reconnect()
2024 cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid); in c4iw_reconnect()
2033 c4iw_put_ep(&ep->com); in c4iw_reconnect()
2052 la = (struct sockaddr_in *)&ep->com.mapped_local_addr; in act_open_rpl()
2053 ra = (struct sockaddr_in *)&ep->com.mapped_remote_addr; in act_open_rpl()
2054 la6 = (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in act_open_rpl()
2055 ra6 = (struct sockaddr_in6 *)&ep->com.mapped_remote_addr; in act_open_rpl()
2070 set_bit(ACT_OPEN_RPL, &ep->com.history); in act_open_rpl()
2083 if (ep->com.local_addr.ss_family == AF_INET && in act_open_rpl()
2093 set_bit(ACT_RETRY_INUSE, &ep->com.history); in act_open_rpl()
2094 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, in act_open_rpl()
2104 if (ep->com.local_addr.ss_family == AF_INET) { in act_open_rpl()
2119 state_set(&ep->com, DEAD); in act_open_rpl()
2122 cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, GET_TID(rpl)); in act_open_rpl()
2124 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, atid); in act_open_rpl()
2128 c4iw_put_ep(&ep->com); in act_open_rpl()
2146 c4iw_wake_up(&ep->com.wr_wait, status2errno(rpl->status)); in pass_open_rpl()
2160 c4iw_wake_up(&ep->com.wr_wait, status2errno(rpl->status)); in close_listsrv_rpl()
2180 if (is_t5(ep->com.dev->rdev.lldi.adapter_type)) { in accept_cr()
2191 best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx, in accept_cr()
2193 (AF_INET == ep->com.remote_addr.ss_family) ? 0 : 1); in accept_cr()
2232 if (is_t5(ep->com.dev->rdev.lldi.adapter_type)) { in accept_cr()
2249 c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); in accept_cr()
2316 if (state_read(&parent_ep->com) != LISTEN) { in pass_accept_req()
2341 &parent_ep->com.local_addr)->sin6_scope_id); in pass_accept_req()
2371 state_set(&child_ep->com, CONNECTING); in pass_accept_req()
2372 child_ep->com.dev = dev; in pass_accept_req()
2373 child_ep->com.cm_id = NULL; in pass_accept_req()
2386 &child_ep->com.mapped_local_addr; in pass_accept_req()
2392 sin = (struct sockaddr_in *)&child_ep->com.local_addr; in pass_accept_req()
2395 &parent_ep->com.local_addr)->sin_port; in pass_accept_req()
2398 sin = (struct sockaddr_in *)&child_ep->com.mapped_remote_addr; in pass_accept_req()
2404 &child_ep->com.mapped_local_addr; in pass_accept_req()
2410 sin6 = (struct sockaddr_in6 *)&child_ep->com.local_addr; in pass_accept_req()
2413 &parent_ep->com.local_addr)->sin6_port; in pass_accept_req()
2416 sin6 = (struct sockaddr_in6 *)&child_ep->com.mapped_remote_addr; in pass_accept_req()
2421 memcpy(&child_ep->com.remote_addr, &child_ep->com.mapped_remote_addr, in pass_accept_req()
2422 sizeof(child_ep->com.remote_addr)); in pass_accept_req()
2425 c4iw_get_ep(&parent_ep->com); in pass_accept_req()
2438 set_bit(PASS_ACCEPT_REQ, &child_ep->com.history); in pass_accept_req()
2464 state_set(&ep->com, MPA_REQ_WAIT); in pass_establish()
2467 set_bit(PASS_ESTAB, &ep->com.history); in pass_establish()
2487 set_bit(PEER_CLOSE, &ep->com.history); in peer_close()
2488 mutex_lock(&ep->com.mutex); in peer_close()
2489 switch (ep->com.state) { in peer_close()
2491 __state_set(&ep->com, CLOSING); in peer_close()
2494 __state_set(&ep->com, CLOSING); in peer_close()
2505 __state_set(&ep->com, CLOSING); in peer_close()
2507 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_close()
2510 __state_set(&ep->com, CLOSING); in peer_close()
2512 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_close()
2516 __state_set(&ep->com, CLOSING); in peer_close()
2518 ret = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in peer_close()
2529 __state_set(&ep->com, MORIBUND); in peer_close()
2534 if (ep->com.cm_id && ep->com.qp) { in peer_close()
2536 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in peer_close()
2540 __state_set(&ep->com, DEAD); in peer_close()
2550 mutex_unlock(&ep->com.mutex); in peer_close()
2582 ep->com.state); in peer_abort()
2583 set_bit(PEER_ABORT, &ep->com.history); in peer_abort()
2590 if (ep->com.state != MPA_REQ_SENT) in peer_abort()
2591 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_abort()
2593 mutex_lock(&ep->com.mutex); in peer_abort()
2594 switch (ep->com.state) { in peer_abort()
2627 if (ep->com.cm_id && ep->com.qp) { in peer_abort()
2629 ret = c4iw_modify_qp(ep->com.qp->rhp, in peer_abort()
2630 ep->com.qp, C4IW_QP_ATTR_NEXT_STATE, in peer_abort()
2643 mutex_unlock(&ep->com.mutex); in peer_abort()
2650 if (ep->com.state != ABORTING) { in peer_abort()
2651 __state_set(&ep->com, DEAD); in peer_abort()
2656 mutex_unlock(&ep->com.mutex); in peer_abort()
2670 c4iw_ofld_send(&ep->com.dev->rdev, rpl_skb); in peer_abort()
2675 remove_handle(ep->com.dev, &ep->com.dev->hwtid_idr, ep->hwtid); in peer_abort()
2676 cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, ep->hwtid); in peer_abort()
2700 mutex_lock(&ep->com.mutex); in close_con_rpl()
2701 switch (ep->com.state) { in close_con_rpl()
2703 __state_set(&ep->com, MORIBUND); in close_con_rpl()
2707 if ((ep->com.cm_id) && (ep->com.qp)) { in close_con_rpl()
2709 c4iw_modify_qp(ep->com.qp->rhp, in close_con_rpl()
2710 ep->com.qp, in close_con_rpl()
2715 __state_set(&ep->com, DEAD); in close_con_rpl()
2725 mutex_unlock(&ep->com.mutex); in close_con_rpl()
2742 if (ep && ep->com.qp) { in terminate()
2744 ep->com.qp->wq.sq.qid); in terminate()
2746 c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, in terminate()
2772 __func__, ep, ep->hwtid, state_read(&ep->com)); in fw4_ack()
2780 state_read(&ep->com), ep->mpa_attr.initiator ? 1 : 0); in fw4_ack()
2794 mutex_lock(&ep->com.mutex); in c4iw_reject_cr()
2795 if (ep->com.state == DEAD) { in c4iw_reject_cr()
2796 mutex_unlock(&ep->com.mutex); in c4iw_reject_cr()
2797 c4iw_put_ep(&ep->com); in c4iw_reject_cr()
2800 set_bit(ULP_REJECT, &ep->com.history); in c4iw_reject_cr()
2801 BUG_ON(ep->com.state != MPA_REQ_RCVD); in c4iw_reject_cr()
2808 mutex_unlock(&ep->com.mutex); in c4iw_reject_cr()
2811 c4iw_put_ep(&ep->com); in c4iw_reject_cr()
2826 mutex_lock(&ep->com.mutex); in c4iw_accept_cr()
2827 if (ep->com.state == DEAD) { in c4iw_accept_cr()
2832 BUG_ON(ep->com.state != MPA_REQ_RCVD); in c4iw_accept_cr()
2835 set_bit(ULP_ACCEPT, &ep->com.history); in c4iw_accept_cr()
2836 if ((conn_param->ord > cur_max_read_depth(ep->com.dev)) || in c4iw_accept_cr()
2837 (conn_param->ird > cur_max_read_depth(ep->com.dev))) { in c4iw_accept_cr()
2884 ep->com.cm_id = cm_id; in c4iw_accept_cr()
2885 ep->com.qp = qp; in c4iw_accept_cr()
2902 err = c4iw_modify_qp(ep->com.qp->rhp, in c4iw_accept_cr()
2903 ep->com.qp, mask, &attrs, 1); in c4iw_accept_cr()
2911 __state_set(&ep->com, FPDU_MODE); in c4iw_accept_cr()
2913 mutex_unlock(&ep->com.mutex); in c4iw_accept_cr()
2914 c4iw_put_ep(&ep->com); in c4iw_accept_cr()
2917 ep->com.cm_id = NULL; in c4iw_accept_cr()
2921 mutex_unlock(&ep->com.mutex); in c4iw_accept_cr()
2922 c4iw_put_ep(&ep->com); in c4iw_accept_cr()
3025 ep->com.dev = dev; in c4iw_connect()
3026 ep->com.cm_id = cm_id; in c4iw_connect()
3027 ep->com.qp = get_qhp(dev, conn_param->qpn); in c4iw_connect()
3028 if (!ep->com.qp) { in c4iw_connect()
3035 ep->com.qp, cm_id); in c4iw_connect()
3048 memcpy(&ep->com.local_addr, &cm_id->local_addr, in c4iw_connect()
3049 sizeof(ep->com.local_addr)); in c4iw_connect()
3050 memcpy(&ep->com.remote_addr, &cm_id->remote_addr, in c4iw_connect()
3051 sizeof(ep->com.remote_addr)); in c4iw_connect()
3054 memcpy(&ep->com.mapped_local_addr, &cm_id->local_addr, in c4iw_connect()
3055 sizeof(ep->com.mapped_local_addr)); in c4iw_connect()
3056 memcpy(&ep->com.mapped_remote_addr, &cm_id->remote_addr, in c4iw_connect()
3057 sizeof(ep->com.mapped_remote_addr)); in c4iw_connect()
3074 if (iwpm_create_mapinfo(&ep->com.local_addr, in c4iw_connect()
3075 &ep->com.mapped_local_addr, RDMA_NL_C4IW)) { in c4iw_connect()
3076 iwpm_remove_mapping(&ep->com.local_addr, RDMA_NL_C4IW); in c4iw_connect()
3080 print_addr(&ep->com, __func__, "add_query/create_mapinfo"); in c4iw_connect()
3081 set_bit(RELEASE_MAPINFO, &ep->com.flags); in c4iw_connect()
3083 laddr = (struct sockaddr_in *)&ep->com.mapped_local_addr; in c4iw_connect()
3084 raddr = (struct sockaddr_in *)&ep->com.mapped_remote_addr; in c4iw_connect()
3085 laddr6 = (struct sockaddr_in6 *)&ep->com.mapped_local_addr; in c4iw_connect()
3086 raddr6 = (struct sockaddr_in6 *) &ep->com.mapped_remote_addr; in c4iw_connect()
3137 err = import_ep(ep, iptype, ra, ep->dst, ep->com.dev, true); in c4iw_connect()
3147 state_set(&ep->com, CONNECTING); in c4iw_connect()
3159 remove_handle(ep->com.dev, &ep->com.dev->atid_idr, ep->atid); in c4iw_connect()
3160 cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid); in c4iw_connect()
3163 c4iw_put_ep(&ep->com); in c4iw_connect()
3172 &ep->com.mapped_local_addr; in create_server6()
3174 c4iw_init_wr_wait(&ep->com.wr_wait); in create_server6()
3175 err = cxgb4_create_server6(ep->com.dev->rdev.lldi.ports[0], in create_server6()
3178 ep->com.dev->rdev.lldi.rxq_ids[0]); in create_server6()
3180 err = c4iw_wait_for_reply(&ep->com.dev->rdev, in create_server6()
3181 &ep->com.wr_wait, in create_server6()
3196 &ep->com.mapped_local_addr; in create_server4()
3201 ep->com.dev->rdev.lldi.ports[0], ep->stid, in create_server4()
3203 ep->com.dev->rdev.lldi.rxq_ids[0], 0, 0); in create_server4()
3210 c4iw_init_wr_wait(&ep->com.wr_wait); in create_server4()
3211 err = cxgb4_create_server(ep->com.dev->rdev.lldi.ports[0], in create_server4()
3213 0, ep->com.dev->rdev.lldi.rxq_ids[0]); in create_server4()
3215 err = c4iw_wait_for_reply(&ep->com.dev->rdev, in create_server4()
3216 &ep->com.wr_wait, in create_server4()
3247 ep->com.cm_id = cm_id; in c4iw_create_listen()
3248 ep->com.dev = dev; in c4iw_create_listen()
3250 memcpy(&ep->com.local_addr, &cm_id->local_addr, in c4iw_create_listen()
3251 sizeof(ep->com.local_addr)); in c4iw_create_listen()
3257 ep->com.local_addr.ss_family == AF_INET) in c4iw_create_listen()
3272 memcpy(&ep->com.mapped_local_addr, &cm_id->local_addr, in c4iw_create_listen()
3273 sizeof(ep->com.mapped_local_addr)); in c4iw_create_listen()
3282 memcpy(&pm_msg.loc_addr, &ep->com.local_addr, in c4iw_create_listen()
3283 sizeof(ep->com.local_addr)); in c4iw_create_listen()
3289 memcpy(&ep->com.mapped_local_addr, in c4iw_create_listen()
3291 sizeof(ep->com.mapped_local_addr)); in c4iw_create_listen()
3293 if (iwpm_create_mapinfo(&ep->com.local_addr, in c4iw_create_listen()
3294 &ep->com.mapped_local_addr, RDMA_NL_C4IW)) { in c4iw_create_listen()
3298 print_addr(&ep->com, __func__, "add_mapping/create_mapinfo"); in c4iw_create_listen()
3300 set_bit(RELEASE_MAPINFO, &ep->com.flags); in c4iw_create_listen()
3301 state_set(&ep->com, LISTEN); in c4iw_create_listen()
3302 if (ep->com.local_addr.ss_family == AF_INET) in c4iw_create_listen()
3312 cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, in c4iw_create_listen()
3313 ep->com.local_addr.ss_family); in c4iw_create_listen()
3316 c4iw_put_ep(&ep->com); in c4iw_create_listen()
3330 state_set(&ep->com, DEAD); in c4iw_destroy_listen()
3331 if (ep->com.dev->rdev.lldi.enable_fw_ofld_conn && in c4iw_destroy_listen()
3332 ep->com.local_addr.ss_family == AF_INET) { in c4iw_destroy_listen()
3334 ep->com.dev->rdev.lldi.ports[0], ep->stid, in c4iw_destroy_listen()
3335 ep->com.dev->rdev.lldi.rxq_ids[0], 0); in c4iw_destroy_listen()
3337 c4iw_init_wr_wait(&ep->com.wr_wait); in c4iw_destroy_listen()
3339 ep->com.dev->rdev.lldi.ports[0], ep->stid, in c4iw_destroy_listen()
3340 ep->com.dev->rdev.lldi.rxq_ids[0], 0); in c4iw_destroy_listen()
3343 err = c4iw_wait_for_reply(&ep->com.dev->rdev, &ep->com.wr_wait, in c4iw_destroy_listen()
3346 remove_handle(ep->com.dev, &ep->com.dev->stid_idr, ep->stid); in c4iw_destroy_listen()
3347 cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, in c4iw_destroy_listen()
3348 ep->com.local_addr.ss_family); in c4iw_destroy_listen()
3351 c4iw_put_ep(&ep->com); in c4iw_destroy_listen()
3362 mutex_lock(&ep->com.mutex); in c4iw_ep_disconnect()
3365 states[ep->com.state], abrupt); in c4iw_ep_disconnect()
3367 rdev = &ep->com.dev->rdev; in c4iw_ep_disconnect()
3371 ep->com.state = DEAD; in c4iw_ep_disconnect()
3373 switch (ep->com.state) { in c4iw_ep_disconnect()
3381 ep->com.state = ABORTING; in c4iw_ep_disconnect()
3383 ep->com.state = CLOSING; in c4iw_ep_disconnect()
3386 set_bit(CLOSE_SENT, &ep->com.flags); in c4iw_ep_disconnect()
3389 if (!test_and_set_bit(CLOSE_SENT, &ep->com.flags)) { in c4iw_ep_disconnect()
3393 ep->com.state = ABORTING; in c4iw_ep_disconnect()
3395 ep->com.state = MORIBUND; in c4iw_ep_disconnect()
3402 __func__, ep, ep->com.state); in c4iw_ep_disconnect()
3411 set_bit(EP_DISC_ABORT, &ep->com.history); in c4iw_ep_disconnect()
3415 set_bit(EP_DISC_CLOSE, &ep->com.history); in c4iw_ep_disconnect()
3421 mutex_unlock(&ep->com.mutex); in c4iw_ep_disconnect()
3440 set_bit(ACT_RETRY_NOMEM, &ep->com.history); in active_ofld_conn_reply()
3446 set_bit(ACT_RETRY_INUSE, &ep->com.history); in active_ofld_conn_reply()
3463 state_set(&ep->com, DEAD); in active_ofld_conn_reply()
3468 c4iw_put_ep(&ep->com); in active_ofld_conn_reply()
3803 mutex_lock(&ep->com.mutex); in process_timeout()
3805 ep->com.state); in process_timeout()
3806 set_bit(TIMEDOUT, &ep->com.history); in process_timeout()
3807 switch (ep->com.state) { in process_timeout()
3809 __state_set(&ep->com, ABORTING); in process_timeout()
3813 __state_set(&ep->com, ABORTING); in process_timeout()
3817 if (ep->com.cm_id && ep->com.qp) { in process_timeout()
3819 c4iw_modify_qp(ep->com.qp->rhp, in process_timeout()
3820 ep->com.qp, C4IW_QP_ATTR_NEXT_STATE, in process_timeout()
3823 __state_set(&ep->com, ABORTING); in process_timeout()
3838 __func__, ep, ep->hwtid, ep->com.state); in process_timeout()
3843 mutex_unlock(&ep->com.mutex); in process_timeout()
3844 c4iw_put_ep(&ep->com); in process_timeout()
3897 if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) { in ep_timeout()
3996 ep->com.state); in peer_abort_intr()
4004 if (ep->com.state != MPA_REQ_SENT) in peer_abort_intr()
4005 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_abort_intr()
4007 c4iw_wake_up(&ep->com.wr_wait, -ECONNRESET); in peer_abort_intr()