Lines Matching refs:bnx2i_ep
384 struct bnx2i_endpoint *bnx2i_ep; in bnx2i_alloc_ep() local
387 ep = iscsi_create_endpoint(sizeof(*bnx2i_ep)); in bnx2i_alloc_ep()
393 bnx2i_ep = ep->dd_data; in bnx2i_alloc_ep()
394 bnx2i_ep->cls_ep = ep; in bnx2i_alloc_ep()
395 INIT_LIST_HEAD(&bnx2i_ep->link); in bnx2i_alloc_ep()
396 bnx2i_ep->state = EP_STATE_IDLE; in bnx2i_alloc_ep()
397 bnx2i_ep->ep_iscsi_cid = (u16) -1; in bnx2i_alloc_ep()
398 bnx2i_ep->hba = hba; in bnx2i_alloc_ep()
399 bnx2i_ep->hba_age = hba->age; in bnx2i_alloc_ep()
403 bnx2i_ep->ec_shift += 1; in bnx2i_alloc_ep()
406 init_waitqueue_head(&bnx2i_ep->ofld_wait); in bnx2i_alloc_ep()
417 struct bnx2i_endpoint *bnx2i_ep = ep->dd_data; in bnx2i_free_ep() local
421 bnx2i_ep->state = EP_STATE_IDLE; in bnx2i_free_ep()
422 bnx2i_ep->hba->ofld_conns_active--; in bnx2i_free_ep()
424 if (bnx2i_ep->ep_iscsi_cid != (u16) -1) in bnx2i_free_ep()
425 bnx2i_free_iscsi_cid(bnx2i_ep->hba, bnx2i_ep->ep_iscsi_cid); in bnx2i_free_ep()
427 if (bnx2i_ep->conn) { in bnx2i_free_ep()
428 bnx2i_ep->conn->ep = NULL; in bnx2i_free_ep()
429 bnx2i_ep->conn = NULL; in bnx2i_free_ep()
432 bnx2i_ep->hba = NULL; in bnx2i_free_ep()
1293 struct bnx2i_endpoint *bnx2i_ep; in bnx2i_session_create() local
1300 bnx2i_ep = ep->dd_data; in bnx2i_session_create()
1301 shost = bnx2i_ep->hba->shost; in bnx2i_session_create()
1414 struct bnx2i_endpoint *bnx2i_ep; in bnx2i_conn_bind() local
1430 bnx2i_ep = ep->dd_data; in bnx2i_conn_bind()
1431 if ((bnx2i_ep->state == EP_STATE_TCP_FIN_RCVD) || in bnx2i_conn_bind()
1432 (bnx2i_ep->state == EP_STATE_TCP_RST_RCVD)) { in bnx2i_conn_bind()
1443 if (bnx2i_ep->hba != hba) { in bnx2i_conn_bind()
1448 bnx2i_ep, bnx2i_ep->hba->netdev->name); in bnx2i_conn_bind()
1455 bnx2i_ep->conn = bnx2i_conn; in bnx2i_conn_bind()
1456 bnx2i_conn->ep = bnx2i_ep; in bnx2i_conn_bind()
1457 bnx2i_conn->iscsi_conn_cid = bnx2i_ep->ep_iscsi_cid; in bnx2i_conn_bind()
1458 bnx2i_conn->fw_cid = bnx2i_ep->ep_cid; in bnx2i_conn_bind()
1461 bnx2i_ep->ep_iscsi_cid); in bnx2i_conn_bind()
1466 if (test_bit(BNX2I_NX2_DEV_57710, &bnx2i_ep->hba->cnic_dev_type)) in bnx2i_conn_bind()
1532 struct bnx2i_endpoint *bnx2i_ep = ep->dd_data; in bnx2i_ep_get_param() local
1533 struct bnx2i_hba *hba = bnx2i_ep->hba; in bnx2i_ep_get_param()
1542 if (bnx2i_ep->cm_sk) in bnx2i_ep_get_param()
1543 len = sprintf(buf, "%hu\n", bnx2i_ep->cm_sk->dst_port); in bnx2i_ep_get_param()
1548 if (bnx2i_ep->cm_sk) in bnx2i_ep_get_param()
1549 len = sprintf(buf, "%pI4\n", &bnx2i_ep->cm_sk->dst_ip); in bnx2i_ep_get_param()
1583 struct bnx2i_endpoint *bnx2i_ep; in bnx2i_host_get_param() local
1586 bnx2i_ep = list_first_entry(active_list, in bnx2i_host_get_param()
1589 csk = bnx2i_ep->cm_sk; in bnx2i_host_get_param()
1785 struct bnx2i_endpoint *bnx2i_ep; in bnx2i_ep_connect() local
1818 bnx2i_ep = ep->dd_data; in bnx2i_ep_connect()
1820 atomic_set(&bnx2i_ep->num_active_cmds, 0); in bnx2i_ep_connect()
1829 bnx2i_ep->hba_age = hba->age; in bnx2i_ep_connect()
1831 rc = bnx2i_alloc_qp_resc(hba, bnx2i_ep); in bnx2i_ep_connect()
1839 bnx2i_ep->ep_iscsi_cid = (u16)iscsi_cid; in bnx2i_ep_connect()
1840 bnx2i_ep->state = EP_STATE_OFLD_START; in bnx2i_ep_connect()
1841 bnx2i_ep_ofld_list_add(hba, bnx2i_ep); in bnx2i_ep_connect()
1843 timer_setup(&bnx2i_ep->ofld_timer, bnx2i_ep_ofld_timer, 0); in bnx2i_ep_connect()
1844 bnx2i_ep->ofld_timer.expires = 2 * HZ + jiffies; in bnx2i_ep_connect()
1845 add_timer(&bnx2i_ep->ofld_timer); in bnx2i_ep_connect()
1847 if (bnx2i_send_conn_ofld_req(hba, bnx2i_ep)) { in bnx2i_ep_connect()
1848 if (bnx2i_ep->state == EP_STATE_OFLD_FAILED_CID_BUSY) { in bnx2i_ep_connect()
1850 hba->netdev->name, bnx2i_ep->ep_iscsi_cid); in bnx2i_ep_connect()
1856 bnx2i_ep_ofld_list_del(hba, bnx2i_ep); in bnx2i_ep_connect()
1861 wait_event_interruptible(bnx2i_ep->ofld_wait, in bnx2i_ep_connect()
1862 bnx2i_ep->state != EP_STATE_OFLD_START); in bnx2i_ep_connect()
1866 del_timer_sync(&bnx2i_ep->ofld_timer); in bnx2i_ep_connect()
1868 bnx2i_ep_ofld_list_del(hba, bnx2i_ep); in bnx2i_ep_connect()
1870 if (bnx2i_ep->state != EP_STATE_OFLD_COMPL) { in bnx2i_ep_connect()
1871 if (bnx2i_ep->state == EP_STATE_OFLD_FAILED_CID_BUSY) { in bnx2i_ep_connect()
1873 hba->netdev->name, bnx2i_ep->ep_iscsi_cid); in bnx2i_ep_connect()
1880 rc = cnic->cm_create(cnic, CNIC_ULP_ISCSI, bnx2i_ep->ep_cid, in bnx2i_ep_connect()
1881 iscsi_cid, &bnx2i_ep->cm_sk, bnx2i_ep); in bnx2i_ep_connect()
1888 bnx2i_ep->cm_sk->rcv_buf = 256 * 1024; in bnx2i_ep_connect()
1889 bnx2i_ep->cm_sk->snd_buf = 256 * 1024; in bnx2i_ep_connect()
1890 clear_bit(SK_TCP_TIMESTAMP, &bnx2i_ep->cm_sk->tcp_flags); in bnx2i_ep_connect()
1903 bnx2i_ep->timestamp = jiffies; in bnx2i_ep_connect()
1904 bnx2i_ep->state = EP_STATE_CONNECT_START; in bnx2i_ep_connect()
1909 rc = cnic->cm_connect(bnx2i_ep->cm_sk, &saddr); in bnx2i_ep_connect()
1913 bnx2i_ep_active_list_add(hba, bnx2i_ep); in bnx2i_ep_connect()
1915 rc = bnx2i_map_ep_dbell_regs(bnx2i_ep); in bnx2i_ep_connect()
1923 bnx2i_ep_active_list_del(hba, bnx2i_ep); in bnx2i_ep_connect()
1925 if (bnx2i_tear_down_conn(hba, bnx2i_ep)) { in bnx2i_ep_connect()
1930 bnx2i_free_qp_resc(hba, bnx2i_ep); in bnx2i_ep_connect()
1949 struct bnx2i_endpoint *bnx2i_ep; in bnx2i_ep_poll() local
1952 bnx2i_ep = ep->dd_data; in bnx2i_ep_poll()
1953 if ((bnx2i_ep->state == EP_STATE_IDLE) || in bnx2i_ep_poll()
1954 (bnx2i_ep->state == EP_STATE_CONNECT_FAILED) || in bnx2i_ep_poll()
1955 (bnx2i_ep->state == EP_STATE_OFLD_FAILED)) in bnx2i_ep_poll()
1957 if (bnx2i_ep->state == EP_STATE_CONNECT_COMPL) in bnx2i_ep_poll()
1960 rc = wait_event_interruptible_timeout(bnx2i_ep->ofld_wait, in bnx2i_ep_poll()
1961 ((bnx2i_ep->state == in bnx2i_ep_poll()
1963 (bnx2i_ep->state == in bnx2i_ep_poll()
1965 (bnx2i_ep->state == in bnx2i_ep_poll()
1968 if (bnx2i_ep->state == EP_STATE_OFLD_FAILED) in bnx2i_ep_poll()
1986 static int bnx2i_ep_tcp_conn_active(struct bnx2i_endpoint *bnx2i_ep) in bnx2i_ep_tcp_conn_active() argument
1991 if (test_bit(BNX2I_NX2_DEV_57710, &bnx2i_ep->hba->cnic_dev_type)) in bnx2i_ep_tcp_conn_active()
1994 switch (bnx2i_ep->state) { in bnx2i_ep_tcp_conn_active()
2031 int bnx2i_hw_ep_disconnect(struct bnx2i_endpoint *bnx2i_ep) in bnx2i_hw_ep_disconnect() argument
2033 struct bnx2i_hba *hba = bnx2i_ep->hba; in bnx2i_hw_ep_disconnect()
2048 if (bnx2i_ep->state == EP_STATE_IDLE || in bnx2i_hw_ep_disconnect()
2049 bnx2i_ep->state == EP_STATE_DISCONN_TIMEDOUT) in bnx2i_hw_ep_disconnect()
2052 if (!bnx2i_ep_tcp_conn_active(bnx2i_ep)) in bnx2i_hw_ep_disconnect()
2055 if (bnx2i_ep->conn) { in bnx2i_hw_ep_disconnect()
2056 conn = bnx2i_ep->conn->cls_conn->dd_data; in bnx2i_hw_ep_disconnect()
2060 timer_setup(&bnx2i_ep->ofld_timer, bnx2i_ep_ofld_timer, 0); in bnx2i_hw_ep_disconnect()
2061 bnx2i_ep->ofld_timer.expires = hba->conn_teardown_tmo + jiffies; in bnx2i_hw_ep_disconnect()
2062 add_timer(&bnx2i_ep->ofld_timer); in bnx2i_hw_ep_disconnect()
2069 if (bnx2i_ep->state != EP_STATE_TCP_FIN_RCVD) { in bnx2i_hw_ep_disconnect()
2071 if (bnx2i_ep->state == EP_STATE_LOGOUT_SENT) { in bnx2i_hw_ep_disconnect()
2076 bnx2i_ep->hba->netdev->name); in bnx2i_hw_ep_disconnect()
2077 } else if (bnx2i_ep->state == in bnx2i_hw_ep_disconnect()
2087 bnx2i_ep->state = EP_STATE_DISCONN_START; in bnx2i_hw_ep_disconnect()
2090 close_ret = cnic->cm_close(bnx2i_ep->cm_sk); in bnx2i_hw_ep_disconnect()
2092 close_ret = cnic->cm_abort(bnx2i_ep->cm_sk); in bnx2i_hw_ep_disconnect()
2096 bnx2i_ep->hba->netdev->name, close, close_ret); in bnx2i_hw_ep_disconnect()
2099 wait_event_interruptible(bnx2i_ep->ofld_wait, in bnx2i_hw_ep_disconnect()
2100 ((bnx2i_ep->state != EP_STATE_DISCONN_START) in bnx2i_hw_ep_disconnect()
2101 && (bnx2i_ep->state != EP_STATE_TCP_FIN_RCVD))); in bnx2i_hw_ep_disconnect()
2105 del_timer_sync(&bnx2i_ep->ofld_timer); in bnx2i_hw_ep_disconnect()
2108 bnx2i_ep_active_list_del(hba, bnx2i_ep); in bnx2i_hw_ep_disconnect()
2109 if (bnx2i_tear_down_conn(hba, bnx2i_ep)) in bnx2i_hw_ep_disconnect()
2112 bnx2i_ep->state = EP_STATE_IDLE; in bnx2i_hw_ep_disconnect()
2125 struct bnx2i_endpoint *bnx2i_ep; in bnx2i_ep_disconnect() local
2130 bnx2i_ep = ep->dd_data; in bnx2i_ep_disconnect()
2136 while ((bnx2i_ep->state == EP_STATE_CONNECT_START) && in bnx2i_ep_disconnect()
2137 !time_after(jiffies, bnx2i_ep->timestamp + (12 * HZ))) in bnx2i_ep_disconnect()
2140 if (bnx2i_ep->conn) { in bnx2i_ep_disconnect()
2141 bnx2i_conn = bnx2i_ep->conn; in bnx2i_ep_disconnect()
2145 hba = bnx2i_ep->hba; in bnx2i_ep_disconnect()
2149 if (bnx2i_ep->state == EP_STATE_DISCONN_TIMEDOUT) in bnx2i_ep_disconnect()
2152 if (bnx2i_ep->state == EP_STATE_IDLE) in bnx2i_ep_disconnect()
2156 (bnx2i_ep->hba_age != hba->age)) { in bnx2i_ep_disconnect()
2157 bnx2i_ep_active_list_del(hba, bnx2i_ep); in bnx2i_ep_disconnect()
2162 if (bnx2i_hw_ep_disconnect(bnx2i_ep)) { in bnx2i_ep_disconnect()
2167 bnx2i_free_qp_resc(hba, bnx2i_ep); in bnx2i_ep_disconnect()