Lines Matching refs:uevent
264 struct ucma_event *uevent) in ucma_set_event_context() argument
266 uevent->ctx = ctx; in ucma_set_event_context()
270 uevent->mc = (struct ucma_multicast *) in ucma_set_event_context()
272 uevent->resp.uid = uevent->mc->uid; in ucma_set_event_context()
273 uevent->resp.id = uevent->mc->id; in ucma_set_event_context()
276 uevent->resp.uid = ctx->uid; in ucma_set_event_context()
277 uevent->resp.id = ctx->id; in ucma_set_event_context()
323 struct ucma_event *uevent; in ucma_event_handler() local
327 uevent = kzalloc(sizeof(*uevent), GFP_KERNEL); in ucma_event_handler()
328 if (!uevent) in ucma_event_handler()
332 uevent->cm_id = cm_id; in ucma_event_handler()
333 ucma_set_event_context(ctx, event, uevent); in ucma_event_handler()
334 uevent->resp.event = event->event; in ucma_event_handler()
335 uevent->resp.status = event->status; in ucma_event_handler()
337 ucma_copy_ud_event(&uevent->resp.param.ud, &event->param.ud); in ucma_event_handler()
339 ucma_copy_conn_event(&uevent->resp.param.conn, in ucma_event_handler()
345 kfree(uevent); in ucma_event_handler()
361 kfree(uevent); in ucma_event_handler()
365 list_add_tail(&uevent->list, &ctx->file->event_list); in ucma_event_handler()
379 struct ucma_event *uevent; in ucma_get_event() local
382 if (out_len < sizeof uevent->resp) in ucma_get_event()
402 uevent = list_entry(file->event_list.next, struct ucma_event, list); in ucma_get_event()
404 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST) { in ucma_get_event()
410 uevent->ctx->backlog++; in ucma_get_event()
411 ctx->cm_id = uevent->cm_id; in ucma_get_event()
413 uevent->resp.id = ctx->id; in ucma_get_event()
417 &uevent->resp, sizeof uevent->resp)) { in ucma_get_event()
422 list_del(&uevent->list); in ucma_get_event()
423 uevent->ctx->events_reported++; in ucma_get_event()
424 if (uevent->mc) in ucma_get_event()
425 uevent->mc->events_reported++; in ucma_get_event()
426 kfree(uevent); in ucma_get_event()
516 struct ucma_event *uevent, *tmp; in ucma_cleanup_mc_events() local
518 list_for_each_entry_safe(uevent, tmp, &mc->ctx->file->event_list, list) { in ucma_cleanup_mc_events()
519 if (uevent->mc != mc) in ucma_cleanup_mc_events()
522 list_del(&uevent->list); in ucma_cleanup_mc_events()
523 kfree(uevent); in ucma_cleanup_mc_events()
541 struct ucma_event *uevent, *tmp; in ucma_free_ctx() local
549 list_for_each_entry_safe(uevent, tmp, &ctx->file->event_list, list) { in ucma_free_ctx()
550 if (uevent->ctx == ctx) in ucma_free_ctx()
551 list_move_tail(&uevent->list, &list); in ucma_free_ctx()
556 list_for_each_entry_safe(uevent, tmp, &list, list) { in ucma_free_ctx()
557 list_del(&uevent->list); in ucma_free_ctx()
558 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST) in ucma_free_ctx()
559 rdma_destroy_id(uevent->cm_id); in ucma_free_ctx()
560 kfree(uevent); in ucma_free_ctx()
1477 struct ucma_event *uevent, *tmp; in ucma_move_events() local
1479 list_for_each_entry_safe(uevent, tmp, &ctx->file->event_list, list) in ucma_move_events()
1480 if (uevent->ctx == ctx) in ucma_move_events()
1481 list_move_tail(&uevent->list, &file->event_list); in ucma_move_events()