Lines Matching refs:cm_id_priv

229 static void ib_cm_free_id(struct cm_id_private *cm_id_priv)
231 pthread_cond_destroy(&cm_id_priv->cond);
232 pthread_mutex_destroy(&cm_id_priv->mut);
233 free(cm_id_priv);
239 struct cm_id_private *cm_id_priv;
241 cm_id_priv = malloc(sizeof *cm_id_priv);
242 if (!cm_id_priv)
245 memset(cm_id_priv, 0, sizeof *cm_id_priv);
246 cm_id_priv->id.device = device;
247 cm_id_priv->id.context = context;
248 pthread_mutex_init(&cm_id_priv->mut, NULL);
249 if (pthread_cond_init(&cm_id_priv->cond, NULL))
252 return cm_id_priv;
254 err: ib_cm_free_id(cm_id_priv);
263 struct cm_id_private *cm_id_priv;
268 cm_id_priv = ib_cm_alloc_id(device, context);
269 if (!cm_id_priv)
273 cmd->uid = (uintptr_t) cm_id_priv;
281 cm_id_priv->id.handle = resp->id;
282 *cm_id = &cm_id_priv->id;
285 err: ib_cm_free_id(cm_id_priv);
293 struct cm_id_private *cm_id_priv;
307 cm_id_priv = container_of(cm_id, struct cm_id_private, id);
309 pthread_mutex_lock(&cm_id_priv->mut);
310 while (cm_id_priv->events_completed < resp->events_reported)
311 pthread_cond_wait(&cm_id_priv->cond, &cm_id_priv->mut);
312 pthread_mutex_unlock(&cm_id_priv->mut);
314 ib_cm_free_id(cm_id_priv);
823 struct cm_id_private *cm_id_priv;
915 cm_id_priv = ib_cm_alloc_id(evt->cm_id->device,
917 if (!cm_id_priv) {
921 cm_id_priv->id.handle = resp->id;
922 evt->cm_id = &cm_id_priv->id;
953 cm_id_priv = ib_cm_alloc_id(evt->cm_id->device,
955 if (!cm_id_priv) {
959 cm_id_priv->id.handle = resp->id;
960 evt->cm_id = &cm_id_priv->id;
1000 struct cm_id_private *cm_id_priv;
1008 cm_id_priv = container_of(event->cm_id, struct cm_id_private, id);
1012 cm_id_priv = container_of(event->param.req_rcvd.listen_id,
1030 cm_id_priv = container_of(event->param.sidr_req_rcvd.listen_id,
1040 pthread_mutex_lock(&cm_id_priv->mut);
1041 cm_id_priv->events_completed++;
1042 pthread_cond_signal(&cm_id_priv->cond);
1043 pthread_mutex_unlock(&cm_id_priv->mut);