Lines Matching refs:cm_id

227 		 event->event, ch->cm_id, ch->sess_name, srpt_get_ch_state(ch));  in srpt_qp_event()
231 ib_cm_notify(ch->cm_id, event->event); in srpt_qp_event()
991 ret = ib_cm_init_qp_attr(ch->cm_id, &qp_attr, &attr_mask); in srpt_ch_qp_rtr()
1021 ret = ib_cm_init_qp_attr(ch->cm_id, &qp_attr, &attr_mask); in srpt_ch_qp_rts()
1784 srp_tsk->task_tag, srp_tsk->tag, ch->cm_id, ch->sess); in srpt_handle_tsk_mgmt()
2071 qp_init->cap.max_send_wr, ch->cm_id); in srpt_create_ch_ib()
2136 ib_send_cm_rej(ch->cm_id, IB_CM_REJ_NO_RESOURCES, NULL, 0, in __srpt_close_ch()
2140 if (ib_send_cm_dreq(ch->cm_id, NULL, 0) < 0) in __srpt_close_ch()
2197 static void srpt_drain_channel(struct ib_cm_id *cm_id) in srpt_drain_channel() argument
2206 sdev = cm_id->context; in srpt_drain_channel()
2210 if (ch->cm_id == cm_id) { in srpt_drain_channel()
2240 struct ib_cm_id *cm_id) in srpt_find_channel() argument
2251 if (ch->cm_id == cm_id) { in srpt_find_channel()
2296 ib_destroy_cm_id(ch->cm_id); in srpt_release_channel_work()
2347 static int srpt_cm_req_recv(struct ib_cm_id *cm_id, in srpt_cm_req_recv() argument
2351 struct srpt_device *sdev = cm_id->context; in srpt_cm_req_recv()
2421 && param->listen_id == ch->sport->sdev->cm_id in srpt_cm_req_recv()
2422 && ch->cm_id) { in srpt_cm_req_recv()
2433 ch->sess_name, ch->cm_id, ch_state); in srpt_cm_req_recv()
2471 ch->cm_id = cm_id; in srpt_cm_req_recv()
2540 ch->sess_name, ch->cm_id); in srpt_cm_req_recv()
2565 ret = ib_send_cm_rep(cm_id, rep_param); in srpt_cm_req_recv()
2602 ib_send_cm_rej(cm_id, IB_CM_REJ_CONSUMER_DEFINED, NULL, 0, in srpt_cm_req_recv()
2613 static void srpt_cm_rej_recv(struct ib_cm_id *cm_id) in srpt_cm_rej_recv() argument
2615 pr_info("Received IB REJ for cm_id %p.\n", cm_id); in srpt_cm_rej_recv()
2616 srpt_drain_channel(cm_id); in srpt_cm_rej_recv()
2625 static void srpt_cm_rtu_recv(struct ib_cm_id *cm_id) in srpt_cm_rtu_recv() argument
2630 ch = srpt_find_channel(cm_id->context, cm_id); in srpt_cm_rtu_recv()
2648 static void srpt_cm_timewait_exit(struct ib_cm_id *cm_id) in srpt_cm_timewait_exit() argument
2650 pr_info("Received IB TimeWait exit for cm_id %p.\n", cm_id); in srpt_cm_timewait_exit()
2651 srpt_drain_channel(cm_id); in srpt_cm_timewait_exit()
2654 static void srpt_cm_rep_error(struct ib_cm_id *cm_id) in srpt_cm_rep_error() argument
2656 pr_info("Received IB REP error for cm_id %p.\n", cm_id); in srpt_cm_rep_error()
2657 srpt_drain_channel(cm_id); in srpt_cm_rep_error()
2663 static void srpt_cm_dreq_recv(struct ib_cm_id *cm_id) in srpt_cm_dreq_recv() argument
2669 ch = srpt_find_channel(cm_id->context, cm_id); in srpt_cm_dreq_recv()
2672 pr_debug("cm_id= %p ch->state= %d\n", cm_id, srpt_get_ch_state(ch)); in srpt_cm_dreq_recv()
2690 if (ib_send_cm_drep(ch->cm_id, NULL, 0) < 0) in srpt_cm_dreq_recv()
2700 static void srpt_cm_drep_recv(struct ib_cm_id *cm_id) in srpt_cm_drep_recv() argument
2702 pr_info("Received InfiniBand DREP message for cm_id %p.\n", cm_id); in srpt_cm_drep_recv()
2703 srpt_drain_channel(cm_id); in srpt_cm_drep_recv()
2716 static int srpt_cm_handler(struct ib_cm_id *cm_id, struct ib_cm_event *event) in srpt_cm_handler() argument
2723 ret = srpt_cm_req_recv(cm_id, &event->param.req_rcvd, in srpt_cm_handler()
2727 srpt_cm_rej_recv(cm_id); in srpt_cm_handler()
2731 srpt_cm_rtu_recv(cm_id); in srpt_cm_handler()
2734 srpt_cm_dreq_recv(cm_id); in srpt_cm_handler()
2737 srpt_cm_drep_recv(cm_id); in srpt_cm_handler()
2740 srpt_cm_timewait_exit(cm_id); in srpt_cm_handler()
2743 srpt_cm_rep_error(cm_id); in srpt_cm_handler()
3176 sdev->cm_id = ib_create_cm_id(device, srpt_cm_handler, sdev); in srpt_add_one()
3177 if (IS_ERR(sdev->cm_id)) in srpt_add_one()
3191 if (ib_cm_listen(sdev->cm_id, cpu_to_be64(srpt_service_guid), 0)) in srpt_add_one()
3249 ib_destroy_cm_id(sdev->cm_id); in srpt_add_one()
3283 ib_destroy_cm_id(sdev->cm_id); in srpt_remove_one()