Lines Matching refs:uevent

227 				   struct ucma_event *uevent)  in ucma_set_event_context()  argument
229 uevent->ctx = ctx; in ucma_set_event_context()
233 uevent->mc = (struct ucma_multicast *) in ucma_set_event_context()
235 uevent->resp.uid = uevent->mc->uid; in ucma_set_event_context()
236 uevent->resp.id = uevent->mc->id; in ucma_set_event_context()
239 uevent->resp.uid = ctx->uid; in ucma_set_event_context()
240 uevent->resp.id = ctx->id; in ucma_set_event_context()
248 struct ucma_event *uevent; in ucma_event_handler() local
252 uevent = kzalloc(sizeof(*uevent), GFP_KERNEL); in ucma_event_handler()
253 if (!uevent) in ucma_event_handler()
257 uevent->cm_id = cm_id; in ucma_event_handler()
258 ucma_set_event_context(ctx, event, uevent); in ucma_event_handler()
259 uevent->resp.event = event->event; in ucma_event_handler()
260 uevent->resp.status = event->status; in ucma_event_handler()
262 ucma_copy_ud_event(&uevent->resp.param.ud, &event->param.ud); in ucma_event_handler()
264 ucma_copy_conn_event(&uevent->resp.param.conn, in ucma_event_handler()
270 kfree(uevent); in ucma_event_handler()
281 kfree(uevent); in ucma_event_handler()
285 list_add_tail(&uevent->list, &ctx->file->event_list); in ucma_event_handler()
297 struct ucma_event *uevent; in ucma_get_event() local
300 if (out_len < sizeof uevent->resp) in ucma_get_event()
320 uevent = list_entry(file->event_list.next, struct ucma_event, list); in ucma_get_event()
322 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST) { in ucma_get_event()
328 uevent->ctx->backlog++; in ucma_get_event()
329 ctx->cm_id = uevent->cm_id; in ucma_get_event()
331 uevent->resp.id = ctx->id; in ucma_get_event()
335 &uevent->resp, sizeof uevent->resp)) { in ucma_get_event()
340 list_del(&uevent->list); in ucma_get_event()
341 uevent->ctx->events_reported++; in ucma_get_event()
342 if (uevent->mc) in ucma_get_event()
343 uevent->mc->events_reported++; in ucma_get_event()
344 kfree(uevent); in ucma_get_event()
433 struct ucma_event *uevent, *tmp; in ucma_cleanup_mc_events() local
435 list_for_each_entry_safe(uevent, tmp, &mc->ctx->file->event_list, list) { in ucma_cleanup_mc_events()
436 if (uevent->mc != mc) in ucma_cleanup_mc_events()
439 list_del(&uevent->list); in ucma_cleanup_mc_events()
440 kfree(uevent); in ucma_cleanup_mc_events()
452 struct ucma_event *uevent, *tmp; in ucma_free_ctx() local
462 list_for_each_entry_safe(uevent, tmp, &ctx->file->event_list, list) { in ucma_free_ctx()
463 if (uevent->ctx == ctx) in ucma_free_ctx()
464 list_move_tail(&uevent->list, &list); in ucma_free_ctx()
469 list_for_each_entry_safe(uevent, tmp, &list, list) { in ucma_free_ctx()
470 list_del(&uevent->list); in ucma_free_ctx()
471 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST) in ucma_free_ctx()
472 rdma_destroy_id(uevent->cm_id); in ucma_free_ctx()
473 kfree(uevent); in ucma_free_ctx()
1390 struct ucma_event *uevent, *tmp; in ucma_move_events() local
1392 list_for_each_entry_safe(uevent, tmp, &ctx->file->event_list, list) in ucma_move_events()
1393 if (uevent->ctx == ctx) in ucma_move_events()
1394 list_move_tail(&uevent->list, &file->event_list); in ucma_move_events()