Lines Matching refs:cm_id
63 struct iwcm_id_private *cm_id; member
121 list_add(&work->free_list, &work->cm_id->work_free_list); in put_work()
143 work->cm_id = cm_id_priv; in alloc_work_entries()
189 static void add_ref(struct iw_cm_id *cm_id) in add_ref() argument
192 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in add_ref()
196 static void rem_ref(struct iw_cm_id *cm_id) in rem_ref() argument
201 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in rem_ref()
214 static int cm_event_handler(struct iw_cm_id *cm_id, struct iw_cm_event *event);
281 int iw_cm_disconnect(struct iw_cm_id *cm_id, int abrupt) in iw_cm_disconnect() argument
288 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in iw_cm_disconnect()
348 static void destroy_cm_id(struct iw_cm_id *cm_id) in destroy_cm_id() argument
353 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in destroy_cm_id()
367 cm_id->device->iwcm->destroy_listen(cm_id); in destroy_cm_id()
390 cm_id->device->iwcm->reject(cm_id, NULL, 0); in destroy_cm_id()
414 void iw_destroy_cm_id(struct iw_cm_id *cm_id) in iw_destroy_cm_id() argument
418 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in iw_destroy_cm_id()
421 destroy_cm_id(cm_id); in iw_destroy_cm_id()
435 int iw_cm_listen(struct iw_cm_id *cm_id, int backlog) in iw_cm_listen() argument
441 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in iw_cm_listen()
455 ret = cm_id->device->iwcm->create_listen(cm_id, backlog); in iw_cm_listen()
474 int iw_cm_reject(struct iw_cm_id *cm_id, in iw_cm_reject() argument
482 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in iw_cm_reject()
495 ret = cm_id->device->iwcm->reject(cm_id, private_data, in iw_cm_reject()
512 int iw_cm_accept(struct iw_cm_id *cm_id, in iw_cm_accept() argument
520 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in iw_cm_accept()
531 qp = cm_id->device->iwcm->get_qp(cm_id->device, iw_param->qpn); in iw_cm_accept()
538 cm_id->device->iwcm->add_ref(qp); in iw_cm_accept()
542 ret = cm_id->device->iwcm->accept(cm_id, iw_param); in iw_cm_accept()
549 cm_id->device->iwcm->rem_ref(qp); in iw_cm_accept()
568 int iw_cm_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *iw_param) in iw_cm_connect() argument
575 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in iw_cm_connect()
592 qp = cm_id->device->iwcm->get_qp(cm_id->device, iw_param->qpn); in iw_cm_connect()
599 cm_id->device->iwcm->add_ref(qp); in iw_cm_connect()
604 ret = cm_id->device->iwcm->connect(cm_id, iw_param); in iw_cm_connect()
608 cm_id->device->iwcm->rem_ref(qp); in iw_cm_connect()
641 struct iw_cm_id *cm_id; in cm_conn_req_handler() local
651 cm_id = iw_create_cm_id(listen_id_priv->id.device, in cm_conn_req_handler()
655 if (IS_ERR(cm_id)) in cm_conn_req_handler()
658 cm_id->provider_data = iw_event->provider_data; in cm_conn_req_handler()
659 cm_id->local_addr = iw_event->local_addr; in cm_conn_req_handler()
660 cm_id->remote_addr = iw_event->remote_addr; in cm_conn_req_handler()
662 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in cm_conn_req_handler()
672 iw_cm_reject(cm_id, NULL, 0); in cm_conn_req_handler()
673 iw_destroy_cm_id(cm_id); in cm_conn_req_handler()
680 iw_cm_reject(cm_id, NULL, 0); in cm_conn_req_handler()
681 iw_destroy_cm_id(cm_id); in cm_conn_req_handler()
686 ret = cm_id->cm_handler(cm_id, iw_event); in cm_conn_req_handler()
688 iw_cm_reject(cm_id, NULL, 0); in cm_conn_req_handler()
690 destroy_cm_id(cm_id); in cm_conn_req_handler()
874 struct iwcm_id_private *cm_id_priv = work->cm_id; in cm_work_handler()
927 static int cm_event_handler(struct iw_cm_id *cm_id, in cm_event_handler() argument
935 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in cm_event_handler()
945 work->cm_id = cm_id_priv; in cm_event_handler()
1019 int iw_cm_init_qp_attr(struct iw_cm_id *cm_id, in iw_cm_init_qp_attr() argument
1026 cm_id_priv = container_of(cm_id, struct iwcm_id_private, id); in iw_cm_init_qp_attr()