Lines Matching refs:uevent

260 	struct ucma_event *uevent;  in ucma_create_uevent()  local
262 uevent = kzalloc(sizeof(*uevent), GFP_KERNEL); in ucma_create_uevent()
263 if (!uevent) in ucma_create_uevent()
266 uevent->ctx = ctx; in ucma_create_uevent()
270 uevent->mc = (struct ucma_multicast *) in ucma_create_uevent()
272 uevent->resp.uid = uevent->mc->uid; in ucma_create_uevent()
273 uevent->resp.id = uevent->mc->id; in ucma_create_uevent()
276 uevent->resp.uid = ctx->uid; in ucma_create_uevent()
277 uevent->resp.id = ctx->id; in ucma_create_uevent()
280 uevent->resp.event = event->event; in ucma_create_uevent()
281 uevent->resp.status = event->status; in ucma_create_uevent()
283 ucma_copy_ud_event(ctx->cm_id->device, &uevent->resp.param.ud, in ucma_create_uevent()
286 ucma_copy_conn_event(&uevent->resp.param.conn, in ucma_create_uevent()
289 uevent->resp.ece.vendor_id = event->ece.vendor_id; in ucma_create_uevent()
290 uevent->resp.ece.attr_mod = event->ece.attr_mod; in ucma_create_uevent()
291 return uevent; in ucma_create_uevent()
299 struct ucma_event *uevent; in ucma_connect_event_handler() local
308 uevent = ucma_create_uevent(listen_ctx, event); in ucma_connect_event_handler()
309 if (!uevent) in ucma_connect_event_handler()
311 uevent->conn_req_ctx = ctx; in ucma_connect_event_handler()
312 uevent->resp.id = ctx->id; in ucma_connect_event_handler()
318 list_add_tail(&uevent->list, &ctx->file->event_list); in ucma_connect_event_handler()
335 struct ucma_event *uevent; in ucma_event_handler() local
349 uevent = ucma_create_uevent(ctx, event); in ucma_event_handler()
350 if (!uevent) in ucma_event_handler()
354 list_add_tail(&uevent->list, &ctx->file->event_list); in ucma_event_handler()
368 struct ucma_event *uevent; in ucma_get_event() local
374 if (out_len < sizeof(uevent->resp) - sizeof(uevent->resp.reserved) - in ucma_get_event()
375 sizeof(uevent->resp.ece)) in ucma_get_event()
395 uevent = list_first_entry(&file->event_list, struct ucma_event, list); in ucma_get_event()
398 &uevent->resp, in ucma_get_event()
399 min_t(size_t, out_len, sizeof(uevent->resp)))) { in ucma_get_event()
404 list_del(&uevent->list); in ucma_get_event()
405 uevent->ctx->events_reported++; in ucma_get_event()
406 if (uevent->mc) in ucma_get_event()
407 uevent->mc->events_reported++; in ucma_get_event()
408 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST) in ucma_get_event()
409 atomic_inc(&uevent->ctx->backlog); in ucma_get_event()
412 kfree(uevent); in ucma_get_event()
504 struct ucma_event *uevent, *tmp; in ucma_cleanup_mc_events() local
508 list_for_each_entry_safe(uevent, tmp, &mc->ctx->file->event_list, list) { in ucma_cleanup_mc_events()
509 if (uevent->mc != mc) in ucma_cleanup_mc_events()
512 list_del(&uevent->list); in ucma_cleanup_mc_events()
513 kfree(uevent); in ucma_cleanup_mc_events()
529 struct ucma_event *uevent, *tmp; in ucma_free_ctx() local
536 list_for_each_entry_safe(uevent, tmp, &ctx->file->event_list, list) { in ucma_free_ctx()
537 if (uevent->ctx == ctx || uevent->conn_req_ctx == ctx) in ucma_free_ctx()
538 list_move_tail(&uevent->list, &list); in ucma_free_ctx()
549 list_for_each_entry_safe(uevent, tmp, &list, list) { in ucma_free_ctx()
550 list_del(&uevent->list); in ucma_free_ctx()
551 if (uevent->resp.event == RDMA_CM_EVENT_CONNECT_REQUEST && in ucma_free_ctx()
552 uevent->conn_req_ctx != ctx) in ucma_free_ctx()
553 __destroy_id(uevent->conn_req_ctx); in ucma_free_ctx()
554 kfree(uevent); in ucma_free_ctx()
1596 struct ucma_event *uevent, *tmp; in ucma_migrate_id() local
1644 list_for_each_entry_safe(uevent, tmp, &cur_file->event_list, list) in ucma_migrate_id()
1645 if (uevent->ctx == ctx) in ucma_migrate_id()
1646 list_move_tail(&uevent->list, &event_list); in ucma_migrate_id()