Lines Matching refs:isert_conn

53 isert_login_post_recv(struct isert_conn *isert_conn);
55 isert_rdma_accept(struct isert_conn *isert_conn);
65 isert_prot_cmd(struct isert_conn *conn, struct se_cmd *cmd) in isert_prot_cmd()
75 struct isert_conn *isert_conn = context; in isert_qp_event_callback() local
78 ib_event_msg(e->event), e->event, isert_conn); in isert_qp_event_callback()
82 rdma_notify(isert_conn->cm_id, IB_EVENT_COMM_EST); in isert_qp_event_callback()
93 isert_comp_get(struct isert_conn *isert_conn) in isert_comp_get() argument
95 struct isert_device *device = isert_conn->device; in isert_comp_get()
109 isert_conn, comp, min); in isert_comp_get()
123 isert_create_qp(struct isert_conn *isert_conn, in isert_create_qp() argument
127 struct isert_device *device = isert_conn->device; in isert_create_qp()
133 attr.qp_context = isert_conn; in isert_create_qp()
156 isert_conn_setup_qp(struct isert_conn *isert_conn, struct rdma_cm_id *cma_id) in isert_conn_setup_qp() argument
161 comp = isert_comp_get(isert_conn); in isert_conn_setup_qp()
162 isert_conn->qp = isert_create_qp(isert_conn, comp, cma_id); in isert_conn_setup_qp()
163 if (IS_ERR(isert_conn->qp)) { in isert_conn_setup_qp()
164 ret = PTR_ERR(isert_conn->qp); in isert_conn_setup_qp()
175 isert_alloc_rx_descriptors(struct isert_conn *isert_conn) in isert_alloc_rx_descriptors() argument
177 struct isert_device *device = isert_conn->device; in isert_alloc_rx_descriptors()
184 isert_conn->rx_descs = kcalloc(ISERT_QP_MAX_RECV_DTOS, in isert_alloc_rx_descriptors()
187 if (!isert_conn->rx_descs) in isert_alloc_rx_descriptors()
190 rx_desc = isert_conn->rx_descs; in isert_alloc_rx_descriptors()
210 rx_desc = isert_conn->rx_descs; in isert_alloc_rx_descriptors()
215 kfree(isert_conn->rx_descs); in isert_alloc_rx_descriptors()
216 isert_conn->rx_descs = NULL; in isert_alloc_rx_descriptors()
217 isert_err("conn %p failed to allocate rx descriptors\n", isert_conn); in isert_alloc_rx_descriptors()
222 isert_free_rx_descriptors(struct isert_conn *isert_conn) in isert_free_rx_descriptors() argument
224 struct ib_device *ib_dev = isert_conn->device->ib_device; in isert_free_rx_descriptors()
228 if (!isert_conn->rx_descs) in isert_free_rx_descriptors()
231 rx_desc = isert_conn->rx_descs; in isert_free_rx_descriptors()
237 kfree(isert_conn->rx_descs); in isert_free_rx_descriptors()
238 isert_conn->rx_descs = NULL; in isert_free_rx_descriptors()
398 isert_init_conn(struct isert_conn *isert_conn) in isert_init_conn() argument
400 isert_conn->state = ISER_CONN_INIT; in isert_init_conn()
401 INIT_LIST_HEAD(&isert_conn->node); in isert_init_conn()
402 init_completion(&isert_conn->login_comp); in isert_init_conn()
403 init_completion(&isert_conn->login_req_comp); in isert_init_conn()
404 init_waitqueue_head(&isert_conn->rem_wait); in isert_init_conn()
405 kref_init(&isert_conn->kref); in isert_init_conn()
406 mutex_init(&isert_conn->mutex); in isert_init_conn()
407 INIT_WORK(&isert_conn->release_work, isert_release_work); in isert_init_conn()
411 isert_free_login_buf(struct isert_conn *isert_conn) in isert_free_login_buf() argument
413 struct ib_device *ib_dev = isert_conn->device->ib_device; in isert_free_login_buf()
415 ib_dma_unmap_single(ib_dev, isert_conn->login_rsp_dma, in isert_free_login_buf()
417 kfree(isert_conn->login_rsp_buf); in isert_free_login_buf()
419 ib_dma_unmap_single(ib_dev, isert_conn->login_req_dma, in isert_free_login_buf()
422 kfree(isert_conn->login_req_buf); in isert_free_login_buf()
426 isert_alloc_login_buf(struct isert_conn *isert_conn, in isert_alloc_login_buf() argument
431 isert_conn->login_req_buf = kzalloc(sizeof(*isert_conn->login_req_buf), in isert_alloc_login_buf()
433 if (!isert_conn->login_req_buf) in isert_alloc_login_buf()
436 isert_conn->login_req_dma = ib_dma_map_single(ib_dev, in isert_alloc_login_buf()
437 isert_conn->login_req_buf, in isert_alloc_login_buf()
439 ret = ib_dma_mapping_error(ib_dev, isert_conn->login_req_dma); in isert_alloc_login_buf()
442 isert_conn->login_req_dma = 0; in isert_alloc_login_buf()
446 isert_conn->login_rsp_buf = kzalloc(ISER_RX_PAYLOAD_SIZE, GFP_KERNEL); in isert_alloc_login_buf()
447 if (!isert_conn->login_rsp_buf) { in isert_alloc_login_buf()
452 isert_conn->login_rsp_dma = ib_dma_map_single(ib_dev, in isert_alloc_login_buf()
453 isert_conn->login_rsp_buf, in isert_alloc_login_buf()
455 ret = ib_dma_mapping_error(ib_dev, isert_conn->login_rsp_dma); in isert_alloc_login_buf()
458 isert_conn->login_rsp_dma = 0; in isert_alloc_login_buf()
465 kfree(isert_conn->login_rsp_buf); in isert_alloc_login_buf()
467 ib_dma_unmap_single(ib_dev, isert_conn->login_req_dma, in isert_alloc_login_buf()
470 kfree(isert_conn->login_req_buf); in isert_alloc_login_buf()
475 isert_set_nego_params(struct isert_conn *isert_conn, in isert_set_nego_params() argument
478 struct ib_device_attr *attr = &isert_conn->device->ib_device->attrs; in isert_set_nego_params()
481 isert_conn->initiator_depth = min_t(u8, param->initiator_depth, in isert_set_nego_params()
483 isert_dbg("Using initiator_depth: %u\n", isert_conn->initiator_depth); in isert_set_nego_params()
492 isert_conn->snd_w_inv = !(flags & ISER_SEND_W_INV_NOT_SUP) && in isert_set_nego_params()
495 if (isert_conn->snd_w_inv) in isert_set_nego_params()
505 struct isert_conn *isert_conn; in isert_connect_request() local
520 isert_conn = kzalloc(sizeof(struct isert_conn), GFP_KERNEL); in isert_connect_request()
521 if (!isert_conn) in isert_connect_request()
524 isert_init_conn(isert_conn); in isert_connect_request()
525 isert_conn->cm_id = cma_id; in isert_connect_request()
527 ret = isert_alloc_login_buf(isert_conn, cma_id->device); in isert_connect_request()
536 isert_conn->device = device; in isert_connect_request()
538 isert_set_nego_params(isert_conn, &event->param.conn); in isert_connect_request()
540 ret = isert_conn_setup_qp(isert_conn, cma_id); in isert_connect_request()
544 ret = isert_login_post_recv(isert_conn); in isert_connect_request()
548 ret = isert_rdma_accept(isert_conn); in isert_connect_request()
553 list_add_tail(&isert_conn->node, &isert_np->accepted); in isert_connect_request()
561 isert_free_login_buf(isert_conn); in isert_connect_request()
563 kfree(isert_conn); in isert_connect_request()
569 isert_connect_release(struct isert_conn *isert_conn) in isert_connect_release() argument
571 struct isert_device *device = isert_conn->device; in isert_connect_release()
573 isert_dbg("conn %p\n", isert_conn); in isert_connect_release()
577 isert_free_rx_descriptors(isert_conn); in isert_connect_release()
578 if (isert_conn->cm_id && in isert_connect_release()
579 !isert_conn->dev_removed) in isert_connect_release()
580 rdma_destroy_id(isert_conn->cm_id); in isert_connect_release()
582 if (isert_conn->qp) { in isert_connect_release()
583 struct isert_comp *comp = isert_conn->qp->recv_cq->cq_context; in isert_connect_release()
586 ib_destroy_qp(isert_conn->qp); in isert_connect_release()
589 if (isert_conn->login_req_buf) in isert_connect_release()
590 isert_free_login_buf(isert_conn); in isert_connect_release()
594 if (isert_conn->dev_removed) in isert_connect_release()
595 wake_up_interruptible(&isert_conn->rem_wait); in isert_connect_release()
597 kfree(isert_conn); in isert_connect_release()
603 struct isert_conn *isert_conn = cma_id->qp->qp_context; in isert_connected_handler() local
606 isert_info("conn %p\n", isert_conn); in isert_connected_handler()
608 mutex_lock(&isert_conn->mutex); in isert_connected_handler()
609 isert_conn->state = ISER_CONN_UP; in isert_connected_handler()
610 kref_get(&isert_conn->kref); in isert_connected_handler()
611 mutex_unlock(&isert_conn->mutex); in isert_connected_handler()
614 list_move_tail(&isert_conn->node, &isert_np->pending); in isert_connected_handler()
624 struct isert_conn *isert_conn = container_of(kref, in isert_release_kref() local
625 struct isert_conn, kref); in isert_release_kref()
627 isert_info("conn %p final kref %s/%d\n", isert_conn, current->comm, in isert_release_kref()
630 isert_connect_release(isert_conn); in isert_release_kref()
634 isert_put_conn(struct isert_conn *isert_conn) in isert_put_conn() argument
636 kref_put(&isert_conn->kref, isert_release_kref); in isert_put_conn()
640 isert_handle_unbound_conn(struct isert_conn *isert_conn) in isert_handle_unbound_conn() argument
642 struct isert_np *isert_np = isert_conn->cm_id->context; in isert_handle_unbound_conn()
645 if (!list_empty(&isert_conn->node)) { in isert_handle_unbound_conn()
650 list_del_init(&isert_conn->node); in isert_handle_unbound_conn()
651 isert_put_conn(isert_conn); in isert_handle_unbound_conn()
652 queue_work(isert_release_wq, &isert_conn->release_work); in isert_handle_unbound_conn()
670 isert_conn_terminate(struct isert_conn *isert_conn) in isert_conn_terminate() argument
674 if (isert_conn->state >= ISER_CONN_TERMINATING) in isert_conn_terminate()
678 isert_conn, isert_conn->state); in isert_conn_terminate()
679 isert_conn->state = ISER_CONN_TERMINATING; in isert_conn_terminate()
680 err = rdma_disconnect(isert_conn->cm_id); in isert_conn_terminate()
683 isert_conn); in isert_conn_terminate()
717 struct isert_conn *isert_conn = cma_id->qp->qp_context; in isert_disconnected_handler() local
719 mutex_lock(&isert_conn->mutex); in isert_disconnected_handler()
720 switch (isert_conn->state) { in isert_disconnected_handler()
724 isert_conn_terminate(isert_conn); in isert_disconnected_handler()
725 ib_drain_qp(isert_conn->qp); in isert_disconnected_handler()
726 isert_handle_unbound_conn(isert_conn); in isert_disconnected_handler()
730 iscsit_cause_connection_reinstatement(isert_conn->conn, 0); in isert_disconnected_handler()
734 isert_conn, isert_conn->state); in isert_disconnected_handler()
736 mutex_unlock(&isert_conn->mutex); in isert_disconnected_handler()
744 struct isert_conn *isert_conn = cma_id->qp->qp_context; in isert_connect_error() local
746 ib_drain_qp(isert_conn->qp); in isert_connect_error()
747 list_del_init(&isert_conn->node); in isert_connect_error()
748 isert_conn->cm_id = NULL; in isert_connect_error()
749 isert_put_conn(isert_conn); in isert_connect_error()
758 struct isert_conn *isert_conn; in isert_cma_handler() local
783 isert_conn = cma_id->qp->qp_context; in isert_cma_handler()
784 isert_conn->dev_removed = true; in isert_cma_handler()
786 wait_event_interruptible(isert_conn->rem_wait, in isert_cma_handler()
787 isert_conn->state == ISER_CONN_DOWN); in isert_cma_handler()
788 kfree(isert_conn); in isert_cma_handler()
811 isert_post_recvm(struct isert_conn *isert_conn, u32 count) in isert_post_recvm() argument
817 for (rx_wr = isert_conn->rx_wr, i = 0; i < count; i++, rx_wr++) { in isert_post_recvm()
818 rx_desc = &isert_conn->rx_descs[i]; in isert_post_recvm()
829 ret = ib_post_recv(isert_conn->qp, isert_conn->rx_wr, NULL); in isert_post_recvm()
837 isert_post_recv(struct isert_conn *isert_conn, struct iser_rx_desc *rx_desc) in isert_post_recv() argument
856 ret = ib_post_recv(isert_conn->qp, &rx_wr, NULL); in isert_post_recv()
864 isert_login_post_send(struct isert_conn *isert_conn, struct iser_tx_desc *tx_desc) in isert_login_post_send() argument
866 struct ib_device *ib_dev = isert_conn->cm_id->device; in isert_login_post_send()
882 ret = ib_post_send(isert_conn->qp, &send_wr, NULL); in isert_login_post_send()
906 isert_create_send_desc(struct isert_conn *isert_conn, in isert_create_send_desc() argument
910 struct isert_device *device = isert_conn->device; in isert_create_send_desc()
920 isert_init_tx_hdrs(struct isert_conn *isert_conn, in isert_init_tx_hdrs() argument
923 struct isert_device *device = isert_conn->device; in isert_init_tx_hdrs()
947 isert_init_send_wr(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, in isert_init_send_wr() argument
955 if (isert_conn->snd_w_inv && isert_cmd->inv_rkey) { in isert_init_send_wr()
968 isert_login_post_recv(struct isert_conn *isert_conn) in isert_login_post_recv() argument
975 sge.addr = isert_conn->login_req_dma; in isert_login_post_recv()
977 sge.lkey = isert_conn->device->pd->local_dma_lkey; in isert_login_post_recv()
982 isert_conn->login_req_buf->rx_cqe.done = isert_login_recv_done; in isert_login_post_recv()
985 rx_wr.wr_cqe = &isert_conn->login_req_buf->rx_cqe; in isert_login_post_recv()
989 ret = ib_post_recv(isert_conn->qp, &rx_wr, NULL); in isert_login_post_recv()
1000 struct isert_conn *isert_conn = conn->context; in isert_put_login_tx() local
1001 struct isert_device *device = isert_conn->device; in isert_put_login_tx()
1003 struct iser_tx_desc *tx_desc = &isert_conn->login_tx_desc; in isert_put_login_tx()
1011 isert_init_tx_hdrs(isert_conn, tx_desc); in isert_put_login_tx()
1016 ib_dma_sync_single_for_cpu(ib_dev, isert_conn->login_rsp_dma, in isert_put_login_tx()
1019 memcpy(isert_conn->login_rsp_buf, login->rsp_buf, length); in isert_put_login_tx()
1021 ib_dma_sync_single_for_device(ib_dev, isert_conn->login_rsp_dma, in isert_put_login_tx()
1024 tx_dsg->addr = isert_conn->login_rsp_dma; in isert_put_login_tx()
1026 tx_dsg->lkey = isert_conn->device->pd->local_dma_lkey; in isert_put_login_tx()
1031 ret = isert_alloc_rx_descriptors(isert_conn); in isert_put_login_tx()
1035 ret = isert_post_recvm(isert_conn, in isert_put_login_tx()
1041 mutex_lock(&isert_conn->mutex); in isert_put_login_tx()
1042 isert_conn->state = ISER_CONN_FULL_FEATURE; in isert_put_login_tx()
1043 mutex_unlock(&isert_conn->mutex); in isert_put_login_tx()
1047 ret = isert_login_post_recv(isert_conn); in isert_put_login_tx()
1052 ret = isert_login_post_send(isert_conn, tx_desc); in isert_put_login_tx()
1060 isert_rx_login_req(struct isert_conn *isert_conn) in isert_rx_login_req() argument
1062 struct iser_rx_desc *rx_desc = isert_conn->login_req_buf; in isert_rx_login_req()
1063 int rx_buflen = isert_conn->login_req_len; in isert_rx_login_req()
1064 struct iscsi_conn *conn = isert_conn->conn; in isert_rx_login_req()
1068 isert_info("conn %p\n", isert_conn); in isert_rx_login_req()
1102 complete(&isert_conn->login_comp); in isert_rx_login_req()
1111 struct isert_conn *isert_conn = conn->context; in isert_allocate_cmd() local
1121 isert_cmd->conn = isert_conn; in isert_allocate_cmd()
1129 isert_handle_scsi_cmd(struct isert_conn *isert_conn, in isert_handle_scsi_cmd() argument
1133 struct iscsi_conn *conn = isert_conn->conn; in isert_handle_scsi_cmd()
1197 isert_handle_iscsi_dataout(struct isert_conn *isert_conn, in isert_handle_iscsi_dataout() argument
1201 struct iscsi_conn *conn = isert_conn->conn; in isert_handle_iscsi_dataout()
1253 rc = isert_post_recv(isert_conn, rx_desc); in isert_handle_iscsi_dataout()
1262 isert_handle_nop_out(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, in isert_handle_nop_out() argument
1266 struct iscsi_conn *conn = isert_conn->conn; in isert_handle_nop_out()
1281 isert_handle_text_cmd(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, in isert_handle_text_cmd() argument
1285 struct iscsi_conn *conn = isert_conn->conn; in isert_handle_text_cmd()
1307 isert_rx_opcode(struct isert_conn *isert_conn, struct iser_rx_desc *rx_desc, in isert_rx_opcode() argument
1312 struct iscsi_conn *conn = isert_conn->conn; in isert_rx_opcode()
1338 ret = isert_handle_scsi_cmd(isert_conn, isert_cmd, cmd, in isert_rx_opcode()
1347 ret = isert_handle_nop_out(isert_conn, isert_cmd, cmd, in isert_rx_opcode()
1351 ret = isert_handle_iscsi_dataout(isert_conn, rx_desc, in isert_rx_opcode()
1379 ret = isert_handle_text_cmd(isert_conn, isert_cmd, cmd, in isert_rx_opcode()
1406 struct isert_conn *isert_conn = wc->qp->qp_context; in isert_recv_done() local
1407 struct ib_device *ib_dev = isert_conn->cm_id->device; in isert_recv_done()
1417 iscsit_cause_connection_reinstatement(isert_conn->conn, 0); in isert_recv_done()
1455 isert_rx_opcode(isert_conn, rx_desc, in isert_recv_done()
1465 struct isert_conn *isert_conn = wc->qp->qp_context; in isert_login_recv_done() local
1466 struct ib_device *ib_dev = isert_conn->device->ib_device; in isert_login_recv_done()
1473 ib_dma_sync_single_for_cpu(ib_dev, isert_conn->login_req_dma, in isert_login_recv_done()
1476 isert_conn->login_req_len = wc->byte_len - ISER_HEADERS_LEN; in isert_login_recv_done()
1478 if (isert_conn->conn) { in isert_login_recv_done()
1479 struct iscsi_login *login = isert_conn->conn->conn_login; in isert_login_recv_done()
1482 isert_rx_login_req(isert_conn); in isert_login_recv_done()
1485 mutex_lock(&isert_conn->mutex); in isert_login_recv_done()
1486 complete(&isert_conn->login_req_comp); in isert_login_recv_done()
1487 mutex_unlock(&isert_conn->mutex); in isert_login_recv_done()
1489 ib_dma_sync_single_for_device(ib_dev, isert_conn->login_req_dma, in isert_login_recv_done()
1494 isert_rdma_rw_ctx_destroy(struct isert_cmd *cmd, struct isert_conn *conn) in isert_rdma_rw_ctx_destroy()
1519 struct isert_conn *isert_conn = isert_cmd->conn; in isert_put_cmd() local
1520 struct iscsi_conn *conn = isert_conn->conn; in isert_put_cmd()
1548 isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); in isert_put_cmd()
1663 struct isert_conn *isert_conn = wc->qp->qp_context; in isert_rdma_write_done() local
1664 struct isert_device *device = isert_conn->device; in isert_rdma_write_done()
1673 iscsit_cause_connection_reinstatement(isert_conn->conn, 0); in isert_rdma_write_done()
1681 isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); in isert_rdma_write_done()
1696 ret = isert_put_response(isert_conn->conn, isert_cmd->iscsi_cmd); in isert_rdma_write_done()
1705 struct isert_conn *isert_conn = wc->qp->qp_context; in isert_rdma_read_done() local
1706 struct isert_device *device = isert_conn->device; in isert_rdma_read_done()
1716 iscsit_cause_connection_reinstatement(isert_conn->conn, 0); in isert_rdma_read_done()
1725 if (isert_prot_cmd(isert_conn, se_cmd)) in isert_rdma_read_done()
1727 isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); in isert_rdma_read_done()
1752 struct isert_conn *isert_conn = isert_cmd->conn; in isert_do_control_comp() local
1753 struct ib_device *ib_dev = isert_conn->cm_id->device; in isert_do_control_comp()
1781 struct isert_conn *isert_conn = wc->qp->qp_context; in isert_login_send_done() local
1782 struct ib_device *ib_dev = isert_conn->cm_id->device; in isert_login_send_done()
1788 iscsit_cause_connection_reinstatement(isert_conn->conn, 0); in isert_login_send_done()
1797 struct isert_conn *isert_conn = wc->qp->qp_context; in isert_send_done() local
1798 struct ib_device *ib_dev = isert_conn->cm_id->device; in isert_send_done()
1805 iscsit_cause_connection_reinstatement(isert_conn->conn, 0); in isert_send_done()
1830 isert_post_response(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd) in isert_post_response() argument
1834 ret = isert_post_recv(isert_conn, isert_cmd->rx_desc); in isert_post_response()
1840 ret = ib_post_send(isert_conn->qp, &isert_cmd->tx_desc.send_wr, NULL); in isert_post_response()
1852 struct isert_conn *isert_conn = conn->context; in isert_put_response() local
1857 isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); in isert_put_response()
1859 isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); in isert_put_response()
1866 struct isert_device *device = isert_conn->device; in isert_put_response()
1892 isert_init_send_wr(isert_conn, isert_cmd, send_wr); in isert_put_response()
1896 return isert_post_response(isert_conn, isert_cmd); in isert_put_response()
1903 struct isert_conn *isert_conn = conn->context; in isert_aborted_task() local
1912 isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); in isert_aborted_task()
1918 struct isert_conn *isert_conn = conn->context; in isert_get_sup_prot_ops() local
1919 struct isert_device *device = isert_conn->device; in isert_get_sup_prot_ops()
1923 isert_info("conn %p PI offload enabled\n", isert_conn); in isert_get_sup_prot_ops()
1924 isert_conn->pi_support = true; in isert_get_sup_prot_ops()
1929 isert_info("conn %p PI offload disabled\n", isert_conn); in isert_get_sup_prot_ops()
1930 isert_conn->pi_support = false; in isert_get_sup_prot_ops()
1940 struct isert_conn *isert_conn = conn->context; in isert_put_nopin() local
1943 isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); in isert_put_nopin()
1947 isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); in isert_put_nopin()
1948 isert_init_send_wr(isert_conn, isert_cmd, send_wr); in isert_put_nopin()
1950 isert_dbg("conn %p Posting NOPIN Response\n", isert_conn); in isert_put_nopin()
1952 return isert_post_response(isert_conn, isert_cmd); in isert_put_nopin()
1959 struct isert_conn *isert_conn = conn->context; in isert_put_logout_rsp() local
1962 isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); in isert_put_logout_rsp()
1965 isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); in isert_put_logout_rsp()
1966 isert_init_send_wr(isert_conn, isert_cmd, send_wr); in isert_put_logout_rsp()
1968 isert_dbg("conn %p Posting Logout Response\n", isert_conn); in isert_put_logout_rsp()
1970 return isert_post_response(isert_conn, isert_cmd); in isert_put_logout_rsp()
1977 struct isert_conn *isert_conn = conn->context; in isert_put_tm_rsp() local
1980 isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); in isert_put_tm_rsp()
1983 isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); in isert_put_tm_rsp()
1984 isert_init_send_wr(isert_conn, isert_cmd, send_wr); in isert_put_tm_rsp()
1986 isert_dbg("conn %p Posting Task Management Response\n", isert_conn); in isert_put_tm_rsp()
1988 return isert_post_response(isert_conn, isert_cmd); in isert_put_tm_rsp()
1995 struct isert_conn *isert_conn = conn->context; in isert_put_reject() local
1997 struct isert_device *device = isert_conn->device; in isert_put_reject()
2003 isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); in isert_put_reject()
2005 isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); in isert_put_reject()
2019 isert_init_send_wr(isert_conn, isert_cmd, send_wr); in isert_put_reject()
2021 isert_dbg("conn %p Posting Reject\n", isert_conn); in isert_put_reject()
2023 return isert_post_response(isert_conn, isert_cmd); in isert_put_reject()
2030 struct isert_conn *isert_conn = conn->context; in isert_put_text_rsp() local
2037 isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); in isert_put_text_rsp()
2043 isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); in isert_put_text_rsp()
2046 struct isert_device *device = isert_conn->device; in isert_put_text_rsp()
2062 isert_init_send_wr(isert_conn, isert_cmd, send_wr); in isert_put_text_rsp()
2064 isert_dbg("conn %p Text Response\n", isert_conn); in isert_put_text_rsp()
2066 return isert_post_response(isert_conn, isert_cmd); in isert_put_text_rsp()
2127 isert_rdma_rw_ctx_post(struct isert_cmd *cmd, struct isert_conn *conn, in isert_rdma_rw_ctx_post()
2187 struct isert_conn *isert_conn = conn->context; in isert_put_datain() local
2195 if (isert_prot_cmd(isert_conn, se_cmd)) { in isert_put_datain()
2202 isert_create_send_desc(isert_conn, isert_cmd, in isert_put_datain()
2206 isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); in isert_put_datain()
2207 isert_init_send_wr(isert_conn, isert_cmd, in isert_put_datain()
2210 rc = isert_post_recv(isert_conn, isert_cmd->rx_desc); in isert_put_datain()
2219 rc = isert_rdma_rw_ctx_post(isert_cmd, isert_conn, cqe, chain_wr); in isert_put_datain()
2271 struct isert_conn *isert_conn = conn->context; in isert_response_queue() local
2278 isert_conn->logout_posted = true; in isert_response_queue()
2390 isert_rdma_accept(struct isert_conn *isert_conn) in isert_rdma_accept() argument
2392 struct rdma_cm_id *cm_id = isert_conn->cm_id; in isert_rdma_accept()
2398 cp.initiator_depth = isert_conn->initiator_depth; in isert_rdma_accept()
2404 if (!isert_conn->snd_w_inv) in isert_rdma_accept()
2421 struct isert_conn *isert_conn = conn->context; in isert_get_login_rx() local
2424 isert_info("before login_req comp conn: %p\n", isert_conn); in isert_get_login_rx()
2425 ret = wait_for_completion_interruptible(&isert_conn->login_req_comp); in isert_get_login_rx()
2428 isert_conn); in isert_get_login_rx()
2431 reinit_completion(&isert_conn->login_req_comp); in isert_get_login_rx()
2442 isert_rx_login_req(isert_conn); in isert_get_login_rx()
2445 ret = wait_for_completion_interruptible(&isert_conn->login_comp); in isert_get_login_rx()
2456 struct isert_conn *isert_conn) in isert_set_conn_info() argument
2458 struct rdma_cm_id *cm_id = isert_conn->cm_id; in isert_set_conn_info()
2471 struct isert_conn *isert_conn; in isert_accept_np() local
2497 isert_conn = list_first_entry(&isert_np->pending, in isert_accept_np()
2498 struct isert_conn, node); in isert_accept_np()
2499 list_del_init(&isert_conn->node); in isert_accept_np()
2502 conn->context = isert_conn; in isert_accept_np()
2503 isert_conn->conn = conn; in isert_accept_np()
2504 isert_conn->state = ISER_CONN_BOUND; in isert_accept_np()
2506 isert_set_conn_info(np, conn, isert_conn); in isert_accept_np()
2508 isert_dbg("Processing isert_conn: %p\n", isert_conn); in isert_accept_np()
2517 struct isert_conn *isert_conn, *n; in isert_free_np() local
2532 list_for_each_entry_safe(isert_conn, n, in isert_free_np()
2536 isert_conn, isert_conn->state); in isert_free_np()
2537 isert_connect_release(isert_conn); in isert_free_np()
2543 list_for_each_entry_safe(isert_conn, n, in isert_free_np()
2547 isert_conn, isert_conn->state); in isert_free_np()
2548 isert_connect_release(isert_conn); in isert_free_np()
2559 struct isert_conn *isert_conn = container_of(work, in isert_release_work() local
2560 struct isert_conn, in isert_release_work()
2563 isert_info("Starting release conn %p\n", isert_conn); in isert_release_work()
2565 mutex_lock(&isert_conn->mutex); in isert_release_work()
2566 isert_conn->state = ISER_CONN_DOWN; in isert_release_work()
2567 mutex_unlock(&isert_conn->mutex); in isert_release_work()
2569 isert_info("Destroying conn %p\n", isert_conn); in isert_release_work()
2570 isert_put_conn(isert_conn); in isert_release_work()
2574 isert_wait4logout(struct isert_conn *isert_conn) in isert_wait4logout() argument
2576 struct iscsi_conn *conn = isert_conn->conn; in isert_wait4logout()
2578 isert_info("conn %p\n", isert_conn); in isert_wait4logout()
2580 if (isert_conn->logout_posted) { in isert_wait4logout()
2581 isert_info("conn %p wait for conn_logout_comp\n", isert_conn); in isert_wait4logout()
2635 struct isert_conn *isert_conn = conn->context; in isert_wait_conn() local
2637 isert_info("Starting conn %p\n", isert_conn); in isert_wait_conn()
2639 mutex_lock(&isert_conn->mutex); in isert_wait_conn()
2640 isert_conn_terminate(isert_conn); in isert_wait_conn()
2641 mutex_unlock(&isert_conn->mutex); in isert_wait_conn()
2643 ib_drain_qp(isert_conn->qp); in isert_wait_conn()
2646 isert_wait4logout(isert_conn); in isert_wait_conn()
2648 queue_work(isert_release_wq, &isert_conn->release_work); in isert_wait_conn()
2653 struct isert_conn *isert_conn = conn->context; in isert_free_conn() local
2655 ib_drain_qp(isert_conn->qp); in isert_free_conn()
2656 isert_put_conn(isert_conn); in isert_free_conn()