bnx2i_ep 870 drivers/scsi/bnx2i/bnx2i.h extern int bnx2i_hw_ep_disconnect(struct bnx2i_endpoint *bnx2i_ep); bnx2i_ep 190 drivers/scsi/bnx2i/bnx2i_init.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 203 drivers/scsi/bnx2i/bnx2i_init.c bnx2i_ep = list_entry(pos, struct bnx2i_endpoint, link); bnx2i_ep 205 drivers/scsi/bnx2i/bnx2i_init.c bnx2i_hw_ep_disconnect(bnx2i_ep); bnx2i_ep 206 drivers/scsi/bnx2i/bnx2i_init.c bnx2i_ep->cm_sk = NULL; bnx2i_ep 384 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 387 drivers/scsi/bnx2i/bnx2i_iscsi.c ep = iscsi_create_endpoint(sizeof(*bnx2i_ep)); bnx2i_ep 393 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep = ep->dd_data; bnx2i_ep 394 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->cls_ep = ep; bnx2i_ep 395 drivers/scsi/bnx2i/bnx2i_iscsi.c INIT_LIST_HEAD(&bnx2i_ep->link); bnx2i_ep 396 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state = EP_STATE_IDLE; bnx2i_ep 397 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->ep_iscsi_cid = (u16) -1; bnx2i_ep 398 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->hba = hba; bnx2i_ep 399 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->hba_age = hba->age; bnx2i_ep 403 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->ec_shift += 1; bnx2i_ep 406 drivers/scsi/bnx2i/bnx2i_iscsi.c init_waitqueue_head(&bnx2i_ep->ofld_wait); bnx2i_ep 417 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep = ep->dd_data; bnx2i_ep 421 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state = EP_STATE_IDLE; bnx2i_ep 422 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->hba->ofld_conns_active--; bnx2i_ep 424 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->ep_iscsi_cid != (u16) -1) bnx2i_ep 425 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_free_iscsi_cid(bnx2i_ep->hba, bnx2i_ep->ep_iscsi_cid); bnx2i_ep 427 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->conn) { bnx2i_ep 428 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->conn->ep = NULL; bnx2i_ep 429 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->conn = NULL; bnx2i_ep 432 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->hba = NULL; bnx2i_ep 1294 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 1301 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep = ep->dd_data; bnx2i_ep 1302 drivers/scsi/bnx2i/bnx2i_iscsi.c shost = bnx2i_ep->hba->shost; bnx2i_ep 1415 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 1429 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep = ep->dd_data; bnx2i_ep 1430 drivers/scsi/bnx2i/bnx2i_iscsi.c if ((bnx2i_ep->state == EP_STATE_TCP_FIN_RCVD) || bnx2i_ep 1431 drivers/scsi/bnx2i/bnx2i_iscsi.c (bnx2i_ep->state == EP_STATE_TCP_RST_RCVD)) bnx2i_ep 1438 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->hba != hba) { bnx2i_ep 1443 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep, bnx2i_ep->hba->netdev->name); bnx2i_ep 1449 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->conn = bnx2i_conn; bnx2i_ep 1450 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_conn->ep = bnx2i_ep; bnx2i_ep 1451 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_conn->iscsi_conn_cid = bnx2i_ep->ep_iscsi_cid; bnx2i_ep 1452 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_conn->fw_cid = bnx2i_ep->ep_cid; bnx2i_ep 1455 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->ep_iscsi_cid); bnx2i_ep 1460 drivers/scsi/bnx2i/bnx2i_iscsi.c if (test_bit(BNX2I_NX2_DEV_57710, &bnx2i_ep->hba->cnic_dev_type)) bnx2i_ep 1524 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep = ep->dd_data; bnx2i_ep 1525 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_hba *hba = bnx2i_ep->hba; bnx2i_ep 1534 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->cm_sk) bnx2i_ep 1535 drivers/scsi/bnx2i/bnx2i_iscsi.c len = sprintf(buf, "%hu\n", bnx2i_ep->cm_sk->dst_port); bnx2i_ep 1540 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->cm_sk) bnx2i_ep 1541 drivers/scsi/bnx2i/bnx2i_iscsi.c len = sprintf(buf, "%pI4\n", &bnx2i_ep->cm_sk->dst_ip); bnx2i_ep 1575 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 1578 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep = list_first_entry(active_list, bnx2i_ep 1581 drivers/scsi/bnx2i/bnx2i_iscsi.c csk = bnx2i_ep->cm_sk; bnx2i_ep 1777 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 1810 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep = ep->dd_data; bnx2i_ep 1812 drivers/scsi/bnx2i/bnx2i_iscsi.c atomic_set(&bnx2i_ep->num_active_cmds, 0); bnx2i_ep 1821 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->hba_age = hba->age; bnx2i_ep 1823 drivers/scsi/bnx2i/bnx2i_iscsi.c rc = bnx2i_alloc_qp_resc(hba, bnx2i_ep); bnx2i_ep 1831 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->ep_iscsi_cid = (u16)iscsi_cid; bnx2i_ep 1832 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state = EP_STATE_OFLD_START; bnx2i_ep 1833 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep_ofld_list_add(hba, bnx2i_ep); bnx2i_ep 1835 drivers/scsi/bnx2i/bnx2i_iscsi.c timer_setup(&bnx2i_ep->ofld_timer, bnx2i_ep_ofld_timer, 0); bnx2i_ep 1836 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->ofld_timer.expires = 2 * HZ + jiffies; bnx2i_ep 1837 drivers/scsi/bnx2i/bnx2i_iscsi.c add_timer(&bnx2i_ep->ofld_timer); bnx2i_ep 1839 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_send_conn_ofld_req(hba, bnx2i_ep)) { bnx2i_ep 1840 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_OFLD_FAILED_CID_BUSY) { bnx2i_ep 1842 drivers/scsi/bnx2i/bnx2i_iscsi.c hba->netdev->name, bnx2i_ep->ep_iscsi_cid); bnx2i_ep 1848 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep_ofld_list_del(hba, bnx2i_ep); bnx2i_ep 1853 drivers/scsi/bnx2i/bnx2i_iscsi.c wait_event_interruptible(bnx2i_ep->ofld_wait, bnx2i_ep 1854 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state != EP_STATE_OFLD_START); bnx2i_ep 1858 drivers/scsi/bnx2i/bnx2i_iscsi.c del_timer_sync(&bnx2i_ep->ofld_timer); bnx2i_ep 1860 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep_ofld_list_del(hba, bnx2i_ep); bnx2i_ep 1862 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state != EP_STATE_OFLD_COMPL) { bnx2i_ep 1863 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_OFLD_FAILED_CID_BUSY) { bnx2i_ep 1865 drivers/scsi/bnx2i/bnx2i_iscsi.c hba->netdev->name, bnx2i_ep->ep_iscsi_cid); bnx2i_ep 1872 drivers/scsi/bnx2i/bnx2i_iscsi.c rc = cnic->cm_create(cnic, CNIC_ULP_ISCSI, bnx2i_ep->ep_cid, bnx2i_ep 1873 drivers/scsi/bnx2i/bnx2i_iscsi.c iscsi_cid, &bnx2i_ep->cm_sk, bnx2i_ep); bnx2i_ep 1880 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->cm_sk->rcv_buf = 256 * 1024; bnx2i_ep 1881 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->cm_sk->snd_buf = 256 * 1024; bnx2i_ep 1882 drivers/scsi/bnx2i/bnx2i_iscsi.c clear_bit(SK_TCP_TIMESTAMP, &bnx2i_ep->cm_sk->tcp_flags); bnx2i_ep 1895 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->timestamp = jiffies; bnx2i_ep 1896 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state = EP_STATE_CONNECT_START; bnx2i_ep 1901 drivers/scsi/bnx2i/bnx2i_iscsi.c rc = cnic->cm_connect(bnx2i_ep->cm_sk, &saddr); bnx2i_ep 1905 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep_active_list_add(hba, bnx2i_ep); bnx2i_ep 1907 drivers/scsi/bnx2i/bnx2i_iscsi.c rc = bnx2i_map_ep_dbell_regs(bnx2i_ep); bnx2i_ep 1915 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep_active_list_del(hba, bnx2i_ep); bnx2i_ep 1917 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_tear_down_conn(hba, bnx2i_ep)) { bnx2i_ep 1922 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_free_qp_resc(hba, bnx2i_ep); bnx2i_ep 1941 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 1944 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep = ep->dd_data; bnx2i_ep 1945 drivers/scsi/bnx2i/bnx2i_iscsi.c if ((bnx2i_ep->state == EP_STATE_IDLE) || bnx2i_ep 1946 drivers/scsi/bnx2i/bnx2i_iscsi.c (bnx2i_ep->state == EP_STATE_CONNECT_FAILED) || bnx2i_ep 1947 drivers/scsi/bnx2i/bnx2i_iscsi.c (bnx2i_ep->state == EP_STATE_OFLD_FAILED)) bnx2i_ep 1949 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_CONNECT_COMPL) bnx2i_ep 1952 drivers/scsi/bnx2i/bnx2i_iscsi.c rc = wait_event_interruptible_timeout(bnx2i_ep->ofld_wait, bnx2i_ep 1953 drivers/scsi/bnx2i/bnx2i_iscsi.c ((bnx2i_ep->state == bnx2i_ep 1955 drivers/scsi/bnx2i/bnx2i_iscsi.c (bnx2i_ep->state == bnx2i_ep 1957 drivers/scsi/bnx2i/bnx2i_iscsi.c (bnx2i_ep->state == bnx2i_ep 1960 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_OFLD_FAILED) bnx2i_ep 1978 drivers/scsi/bnx2i/bnx2i_iscsi.c static int bnx2i_ep_tcp_conn_active(struct bnx2i_endpoint *bnx2i_ep) bnx2i_ep 1983 drivers/scsi/bnx2i/bnx2i_iscsi.c if (test_bit(BNX2I_NX2_DEV_57710, &bnx2i_ep->hba->cnic_dev_type)) bnx2i_ep 1986 drivers/scsi/bnx2i/bnx2i_iscsi.c switch (bnx2i_ep->state) { bnx2i_ep 2023 drivers/scsi/bnx2i/bnx2i_iscsi.c int bnx2i_hw_ep_disconnect(struct bnx2i_endpoint *bnx2i_ep) bnx2i_ep 2025 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_hba *hba = bnx2i_ep->hba; bnx2i_ep 2040 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_IDLE || bnx2i_ep 2041 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state == EP_STATE_DISCONN_TIMEDOUT) bnx2i_ep 2044 drivers/scsi/bnx2i/bnx2i_iscsi.c if (!bnx2i_ep_tcp_conn_active(bnx2i_ep)) bnx2i_ep 2047 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->conn) { bnx2i_ep 2048 drivers/scsi/bnx2i/bnx2i_iscsi.c conn = bnx2i_ep->conn->cls_conn->dd_data; bnx2i_ep 2052 drivers/scsi/bnx2i/bnx2i_iscsi.c timer_setup(&bnx2i_ep->ofld_timer, bnx2i_ep_ofld_timer, 0); bnx2i_ep 2053 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->ofld_timer.expires = hba->conn_teardown_tmo + jiffies; bnx2i_ep 2054 drivers/scsi/bnx2i/bnx2i_iscsi.c add_timer(&bnx2i_ep->ofld_timer); bnx2i_ep 2061 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state != EP_STATE_TCP_FIN_RCVD) { bnx2i_ep 2063 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_LOGOUT_SENT) { bnx2i_ep 2068 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->hba->netdev->name); bnx2i_ep 2069 drivers/scsi/bnx2i/bnx2i_iscsi.c } else if (bnx2i_ep->state == bnx2i_ep 2079 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state = EP_STATE_DISCONN_START; bnx2i_ep 2082 drivers/scsi/bnx2i/bnx2i_iscsi.c close_ret = cnic->cm_close(bnx2i_ep->cm_sk); bnx2i_ep 2084 drivers/scsi/bnx2i/bnx2i_iscsi.c close_ret = cnic->cm_abort(bnx2i_ep->cm_sk); bnx2i_ep 2088 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->hba->netdev->name, close, close_ret); bnx2i_ep 2091 drivers/scsi/bnx2i/bnx2i_iscsi.c wait_event_interruptible(bnx2i_ep->ofld_wait, bnx2i_ep 2092 drivers/scsi/bnx2i/bnx2i_iscsi.c ((bnx2i_ep->state != EP_STATE_DISCONN_START) bnx2i_ep 2093 drivers/scsi/bnx2i/bnx2i_iscsi.c && (bnx2i_ep->state != EP_STATE_TCP_FIN_RCVD))); bnx2i_ep 2097 drivers/scsi/bnx2i/bnx2i_iscsi.c del_timer_sync(&bnx2i_ep->ofld_timer); bnx2i_ep 2100 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep_active_list_del(hba, bnx2i_ep); bnx2i_ep 2101 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_tear_down_conn(hba, bnx2i_ep)) bnx2i_ep 2104 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep->state = EP_STATE_IDLE; bnx2i_ep 2117 drivers/scsi/bnx2i/bnx2i_iscsi.c struct bnx2i_endpoint *bnx2i_ep; bnx2i_ep 2122 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep = ep->dd_data; bnx2i_ep 2128 drivers/scsi/bnx2i/bnx2i_iscsi.c while ((bnx2i_ep->state == EP_STATE_CONNECT_START) && bnx2i_ep 2129 drivers/scsi/bnx2i/bnx2i_iscsi.c !time_after(jiffies, bnx2i_ep->timestamp + (12 * HZ))) bnx2i_ep 2132 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->conn) { bnx2i_ep 2133 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_conn = bnx2i_ep->conn; bnx2i_ep 2137 drivers/scsi/bnx2i/bnx2i_iscsi.c hba = bnx2i_ep->hba; bnx2i_ep 2141 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_DISCONN_TIMEDOUT) bnx2i_ep 2144 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_ep->state == EP_STATE_IDLE) bnx2i_ep 2148 drivers/scsi/bnx2i/bnx2i_iscsi.c (bnx2i_ep->hba_age != hba->age)) { bnx2i_ep 2149 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_ep_active_list_del(hba, bnx2i_ep); bnx2i_ep 2154 drivers/scsi/bnx2i/bnx2i_iscsi.c if (bnx2i_hw_ep_disconnect(bnx2i_ep)) { bnx2i_ep 2159 drivers/scsi/bnx2i/bnx2i_iscsi.c bnx2i_free_qp_resc(hba, bnx2i_ep);