Lines Matching refs:resp

289 	struct ib_uverbs_get_context_resp resp;  in ib_uverbs_get_context()  local
299 if (out_len < sizeof resp) in ib_uverbs_get_context()
313 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_get_context()
314 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_get_context()
351 resp.num_comp_vectors = file->device->num_comp_vectors; in ib_uverbs_get_context()
356 resp.async_fd = ret; in ib_uverbs_get_context()
365 &resp, sizeof resp)) { in ib_uverbs_get_context()
382 fd_install(resp.async_fd, filp); in ib_uverbs_get_context()
392 put_unused_fd(resp.async_fd); in ib_uverbs_get_context()
404 struct ib_uverbs_query_device_resp *resp, in copy_query_dev_fields() argument
407 resp->fw_ver = attr->fw_ver; in copy_query_dev_fields()
408 resp->node_guid = file->device->ib_dev->node_guid; in copy_query_dev_fields()
409 resp->sys_image_guid = attr->sys_image_guid; in copy_query_dev_fields()
410 resp->max_mr_size = attr->max_mr_size; in copy_query_dev_fields()
411 resp->page_size_cap = attr->page_size_cap; in copy_query_dev_fields()
412 resp->vendor_id = attr->vendor_id; in copy_query_dev_fields()
413 resp->vendor_part_id = attr->vendor_part_id; in copy_query_dev_fields()
414 resp->hw_ver = attr->hw_ver; in copy_query_dev_fields()
415 resp->max_qp = attr->max_qp; in copy_query_dev_fields()
416 resp->max_qp_wr = attr->max_qp_wr; in copy_query_dev_fields()
417 resp->device_cap_flags = attr->device_cap_flags; in copy_query_dev_fields()
418 resp->max_sge = attr->max_sge; in copy_query_dev_fields()
419 resp->max_sge_rd = attr->max_sge_rd; in copy_query_dev_fields()
420 resp->max_cq = attr->max_cq; in copy_query_dev_fields()
421 resp->max_cqe = attr->max_cqe; in copy_query_dev_fields()
422 resp->max_mr = attr->max_mr; in copy_query_dev_fields()
423 resp->max_pd = attr->max_pd; in copy_query_dev_fields()
424 resp->max_qp_rd_atom = attr->max_qp_rd_atom; in copy_query_dev_fields()
425 resp->max_ee_rd_atom = attr->max_ee_rd_atom; in copy_query_dev_fields()
426 resp->max_res_rd_atom = attr->max_res_rd_atom; in copy_query_dev_fields()
427 resp->max_qp_init_rd_atom = attr->max_qp_init_rd_atom; in copy_query_dev_fields()
428 resp->max_ee_init_rd_atom = attr->max_ee_init_rd_atom; in copy_query_dev_fields()
429 resp->atomic_cap = attr->atomic_cap; in copy_query_dev_fields()
430 resp->max_ee = attr->max_ee; in copy_query_dev_fields()
431 resp->max_rdd = attr->max_rdd; in copy_query_dev_fields()
432 resp->max_mw = attr->max_mw; in copy_query_dev_fields()
433 resp->max_raw_ipv6_qp = attr->max_raw_ipv6_qp; in copy_query_dev_fields()
434 resp->max_raw_ethy_qp = attr->max_raw_ethy_qp; in copy_query_dev_fields()
435 resp->max_mcast_grp = attr->max_mcast_grp; in copy_query_dev_fields()
436 resp->max_mcast_qp_attach = attr->max_mcast_qp_attach; in copy_query_dev_fields()
437 resp->max_total_mcast_qp_attach = attr->max_total_mcast_qp_attach; in copy_query_dev_fields()
438 resp->max_ah = attr->max_ah; in copy_query_dev_fields()
439 resp->max_fmr = attr->max_fmr; in copy_query_dev_fields()
440 resp->max_map_per_fmr = attr->max_map_per_fmr; in copy_query_dev_fields()
441 resp->max_srq = attr->max_srq; in copy_query_dev_fields()
442 resp->max_srq_wr = attr->max_srq_wr; in copy_query_dev_fields()
443 resp->max_srq_sge = attr->max_srq_sge; in copy_query_dev_fields()
444 resp->max_pkeys = attr->max_pkeys; in copy_query_dev_fields()
445 resp->local_ca_ack_delay = attr->local_ca_ack_delay; in copy_query_dev_fields()
446 resp->phys_port_cnt = file->device->ib_dev->phys_port_cnt; in copy_query_dev_fields()
454 struct ib_uverbs_query_device_resp resp; in ib_uverbs_query_device() local
458 if (out_len < sizeof resp) in ib_uverbs_query_device()
468 memset(&resp, 0, sizeof resp); in ib_uverbs_query_device()
469 copy_query_dev_fields(file, &resp, &attr); in ib_uverbs_query_device()
472 &resp, sizeof resp)) in ib_uverbs_query_device()
483 struct ib_uverbs_query_port_resp resp; in ib_uverbs_query_port() local
487 if (out_len < sizeof resp) in ib_uverbs_query_port()
497 memset(&resp, 0, sizeof resp); in ib_uverbs_query_port()
499 resp.state = attr.state; in ib_uverbs_query_port()
500 resp.max_mtu = attr.max_mtu; in ib_uverbs_query_port()
501 resp.active_mtu = attr.active_mtu; in ib_uverbs_query_port()
502 resp.gid_tbl_len = attr.gid_tbl_len; in ib_uverbs_query_port()
503 resp.port_cap_flags = attr.port_cap_flags; in ib_uverbs_query_port()
504 resp.max_msg_sz = attr.max_msg_sz; in ib_uverbs_query_port()
505 resp.bad_pkey_cntr = attr.bad_pkey_cntr; in ib_uverbs_query_port()
506 resp.qkey_viol_cntr = attr.qkey_viol_cntr; in ib_uverbs_query_port()
507 resp.pkey_tbl_len = attr.pkey_tbl_len; in ib_uverbs_query_port()
508 resp.lid = attr.lid; in ib_uverbs_query_port()
509 resp.sm_lid = attr.sm_lid; in ib_uverbs_query_port()
510 resp.lmc = attr.lmc; in ib_uverbs_query_port()
511 resp.max_vl_num = attr.max_vl_num; in ib_uverbs_query_port()
512 resp.sm_sl = attr.sm_sl; in ib_uverbs_query_port()
513 resp.subnet_timeout = attr.subnet_timeout; in ib_uverbs_query_port()
514 resp.init_type_reply = attr.init_type_reply; in ib_uverbs_query_port()
515 resp.active_width = attr.active_width; in ib_uverbs_query_port()
516 resp.active_speed = attr.active_speed; in ib_uverbs_query_port()
517 resp.phys_state = attr.phys_state; in ib_uverbs_query_port()
518 resp.link_layer = rdma_port_get_link_layer(file->device->ib_dev, in ib_uverbs_query_port()
522 &resp, sizeof resp)) in ib_uverbs_query_port()
533 struct ib_uverbs_alloc_pd_resp resp; in ib_uverbs_alloc_pd() local
539 if (out_len < sizeof resp) in ib_uverbs_alloc_pd()
546 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_alloc_pd()
547 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_alloc_pd()
572 memset(&resp, 0, sizeof resp); in ib_uverbs_alloc_pd()
573 resp.pd_handle = uobj->id; in ib_uverbs_alloc_pd()
576 &resp, sizeof resp)) { in ib_uverbs_alloc_pd()
727 struct ib_uverbs_open_xrcd_resp resp; in ib_uverbs_open_xrcd() local
736 if (out_len < sizeof resp) in ib_uverbs_open_xrcd()
743 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_open_xrcd()
744 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_open_xrcd()
802 memset(&resp, 0, sizeof resp); in ib_uverbs_open_xrcd()
803 resp.xrcd_handle = obj->uobject.id; in ib_uverbs_open_xrcd()
816 &resp, sizeof resp)) { in ib_uverbs_open_xrcd()
941 struct ib_uverbs_reg_mr_resp resp; in ib_uverbs_reg_mr() local
948 if (out_len < sizeof resp) in ib_uverbs_reg_mr()
955 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_reg_mr()
956 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_reg_mr()
1008 memset(&resp, 0, sizeof resp); in ib_uverbs_reg_mr()
1009 resp.lkey = mr->lkey; in ib_uverbs_reg_mr()
1010 resp.rkey = mr->rkey; in ib_uverbs_reg_mr()
1011 resp.mr_handle = uobj->id; in ib_uverbs_reg_mr()
1014 &resp, sizeof resp)) { in ib_uverbs_reg_mr()
1050 struct ib_uverbs_rereg_mr_resp resp; in ib_uverbs_rereg_mr() local
1058 if (out_len < sizeof(resp)) in ib_uverbs_rereg_mr()
1065 (unsigned long) cmd.response + sizeof(resp), in ib_uverbs_rereg_mr()
1066 in_len - sizeof(cmd), out_len - sizeof(resp)); in ib_uverbs_rereg_mr()
1117 memset(&resp, 0, sizeof(resp)); in ib_uverbs_rereg_mr()
1118 resp.lkey = mr->lkey; in ib_uverbs_rereg_mr()
1119 resp.rkey = mr->rkey; in ib_uverbs_rereg_mr()
1122 &resp, sizeof(resp))) in ib_uverbs_rereg_mr()
1181 struct ib_uverbs_alloc_mw_resp resp; in ib_uverbs_alloc_mw() local
1187 if (out_len < sizeof(resp)) in ib_uverbs_alloc_mw()
1222 memset(&resp, 0, sizeof(resp)); in ib_uverbs_alloc_mw()
1223 resp.rkey = mw->rkey; in ib_uverbs_alloc_mw()
1224 resp.mw_handle = uobj->id; in ib_uverbs_alloc_mw()
1227 &resp, sizeof(resp))) { in ib_uverbs_alloc_mw()
1301 struct ib_uverbs_create_comp_channel_resp resp; in ib_uverbs_create_comp_channel() local
1305 if (out_len < sizeof resp) in ib_uverbs_create_comp_channel()
1314 resp.fd = ret; in ib_uverbs_create_comp_channel()
1318 put_unused_fd(resp.fd); in ib_uverbs_create_comp_channel()
1323 &resp, sizeof resp)) { in ib_uverbs_create_comp_channel()
1324 put_unused_fd(resp.fd); in ib_uverbs_create_comp_channel()
1329 fd_install(resp.fd, filp); in ib_uverbs_create_comp_channel()
1338 struct ib_uverbs_create_cq_resp resp; in ib_uverbs_create_cq() local
1345 if (out_len < sizeof resp) in ib_uverbs_create_cq()
1352 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_create_cq()
1353 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_create_cq()
1399 memset(&resp, 0, sizeof resp); in ib_uverbs_create_cq()
1400 resp.cq_handle = obj->uobject.id; in ib_uverbs_create_cq()
1401 resp.cqe = cq->cqe; in ib_uverbs_create_cq()
1404 &resp, sizeof resp)) { in ib_uverbs_create_cq()
1439 struct ib_uverbs_resize_cq_resp resp; in ib_uverbs_resize_cq() local
1448 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_resize_cq()
1449 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_resize_cq()
1459 resp.cqe = cq->cqe; in ib_uverbs_resize_cq()
1462 &resp, sizeof resp.cqe)) in ib_uverbs_resize_cq()
1502 struct ib_uverbs_poll_cq_resp resp; in ib_uverbs_poll_cq() local
1518 data_ptr = header_ptr + sizeof resp; in ib_uverbs_poll_cq()
1520 memset(&resp, 0, sizeof resp); in ib_uverbs_poll_cq()
1521 while (resp.count < cmd.ne) { in ib_uverbs_poll_cq()
1533 ++resp.count; in ib_uverbs_poll_cq()
1536 if (copy_to_user(header_ptr, &resp, sizeof resp)) { in ib_uverbs_poll_cq()
1575 struct ib_uverbs_destroy_cq_resp resp; in ib_uverbs_destroy_cq() local
1609 memset(&resp, 0, sizeof resp); in ib_uverbs_destroy_cq()
1610 resp.comp_events_reported = obj->comp_events_reported; in ib_uverbs_destroy_cq()
1611 resp.async_events_reported = obj->async_events_reported; in ib_uverbs_destroy_cq()
1616 &resp, sizeof resp)) in ib_uverbs_destroy_cq()
1627 struct ib_uverbs_create_qp_resp resp; in ib_uverbs_create_qp() local
1640 if (out_len < sizeof resp) in ib_uverbs_create_qp()
1650 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_create_qp()
1651 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_create_qp()
1754 memset(&resp, 0, sizeof resp); in ib_uverbs_create_qp()
1755 resp.qpn = qp->qp_num; in ib_uverbs_create_qp()
1756 resp.qp_handle = obj->uevent.uobject.id; in ib_uverbs_create_qp()
1757 resp.max_recv_sge = attr.cap.max_recv_sge; in ib_uverbs_create_qp()
1758 resp.max_send_sge = attr.cap.max_send_sge; in ib_uverbs_create_qp()
1759 resp.max_recv_wr = attr.cap.max_recv_wr; in ib_uverbs_create_qp()
1760 resp.max_send_wr = attr.cap.max_send_wr; in ib_uverbs_create_qp()
1761 resp.max_inline_data = attr.cap.max_inline_data; in ib_uverbs_create_qp()
1764 &resp, sizeof resp)) { in ib_uverbs_create_qp()
1821 struct ib_uverbs_create_qp_resp resp; in ib_uverbs_open_qp() local
1830 if (out_len < sizeof resp) in ib_uverbs_open_qp()
1837 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_open_qp()
1838 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_open_qp()
1875 memset(&resp, 0, sizeof resp); in ib_uverbs_open_qp()
1876 resp.qpn = qp->qp_num; in ib_uverbs_open_qp()
1877 resp.qp_handle = obj->uevent.uobject.id; in ib_uverbs_open_qp()
1880 &resp, sizeof resp)) { in ib_uverbs_open_qp()
1916 struct ib_uverbs_query_qp_resp resp; in ib_uverbs_query_qp() local
1945 memset(&resp, 0, sizeof resp); in ib_uverbs_query_qp()
1947 resp.qp_state = attr->qp_state; in ib_uverbs_query_qp()
1948 resp.cur_qp_state = attr->cur_qp_state; in ib_uverbs_query_qp()
1949 resp.path_mtu = attr->path_mtu; in ib_uverbs_query_qp()
1950 resp.path_mig_state = attr->path_mig_state; in ib_uverbs_query_qp()
1951 resp.qkey = attr->qkey; in ib_uverbs_query_qp()
1952 resp.rq_psn = attr->rq_psn; in ib_uverbs_query_qp()
1953 resp.sq_psn = attr->sq_psn; in ib_uverbs_query_qp()
1954 resp.dest_qp_num = attr->dest_qp_num; in ib_uverbs_query_qp()
1955 resp.qp_access_flags = attr->qp_access_flags; in ib_uverbs_query_qp()
1956 resp.pkey_index = attr->pkey_index; in ib_uverbs_query_qp()
1957 resp.alt_pkey_index = attr->alt_pkey_index; in ib_uverbs_query_qp()
1958 resp.sq_draining = attr->sq_draining; in ib_uverbs_query_qp()
1959 resp.max_rd_atomic = attr->max_rd_atomic; in ib_uverbs_query_qp()
1960 resp.max_dest_rd_atomic = attr->max_dest_rd_atomic; in ib_uverbs_query_qp()
1961 resp.min_rnr_timer = attr->min_rnr_timer; in ib_uverbs_query_qp()
1962 resp.port_num = attr->port_num; in ib_uverbs_query_qp()
1963 resp.timeout = attr->timeout; in ib_uverbs_query_qp()
1964 resp.retry_cnt = attr->retry_cnt; in ib_uverbs_query_qp()
1965 resp.rnr_retry = attr->rnr_retry; in ib_uverbs_query_qp()
1966 resp.alt_port_num = attr->alt_port_num; in ib_uverbs_query_qp()
1967 resp.alt_timeout = attr->alt_timeout; in ib_uverbs_query_qp()
1969 memcpy(resp.dest.dgid, attr->ah_attr.grh.dgid.raw, 16); in ib_uverbs_query_qp()
1970 resp.dest.flow_label = attr->ah_attr.grh.flow_label; in ib_uverbs_query_qp()
1971 resp.dest.sgid_index = attr->ah_attr.grh.sgid_index; in ib_uverbs_query_qp()
1972 resp.dest.hop_limit = attr->ah_attr.grh.hop_limit; in ib_uverbs_query_qp()
1973 resp.dest.traffic_class = attr->ah_attr.grh.traffic_class; in ib_uverbs_query_qp()
1974 resp.dest.dlid = attr->ah_attr.dlid; in ib_uverbs_query_qp()
1975 resp.dest.sl = attr->ah_attr.sl; in ib_uverbs_query_qp()
1976 resp.dest.src_path_bits = attr->ah_attr.src_path_bits; in ib_uverbs_query_qp()
1977 resp.dest.static_rate = attr->ah_attr.static_rate; in ib_uverbs_query_qp()
1978 resp.dest.is_global = !!(attr->ah_attr.ah_flags & IB_AH_GRH); in ib_uverbs_query_qp()
1979 resp.dest.port_num = attr->ah_attr.port_num; in ib_uverbs_query_qp()
1981 memcpy(resp.alt_dest.dgid, attr->alt_ah_attr.grh.dgid.raw, 16); in ib_uverbs_query_qp()
1982 resp.alt_dest.flow_label = attr->alt_ah_attr.grh.flow_label; in ib_uverbs_query_qp()
1983 resp.alt_dest.sgid_index = attr->alt_ah_attr.grh.sgid_index; in ib_uverbs_query_qp()
1984 resp.alt_dest.hop_limit = attr->alt_ah_attr.grh.hop_limit; in ib_uverbs_query_qp()
1985 resp.alt_dest.traffic_class = attr->alt_ah_attr.grh.traffic_class; in ib_uverbs_query_qp()
1986 resp.alt_dest.dlid = attr->alt_ah_attr.dlid; in ib_uverbs_query_qp()
1987 resp.alt_dest.sl = attr->alt_ah_attr.sl; in ib_uverbs_query_qp()
1988 resp.alt_dest.src_path_bits = attr->alt_ah_attr.src_path_bits; in ib_uverbs_query_qp()
1989 resp.alt_dest.static_rate = attr->alt_ah_attr.static_rate; in ib_uverbs_query_qp()
1990 resp.alt_dest.is_global = !!(attr->alt_ah_attr.ah_flags & IB_AH_GRH); in ib_uverbs_query_qp()
1991 resp.alt_dest.port_num = attr->alt_ah_attr.port_num; in ib_uverbs_query_qp()
1993 resp.max_send_wr = init_attr->cap.max_send_wr; in ib_uverbs_query_qp()
1994 resp.max_recv_wr = init_attr->cap.max_recv_wr; in ib_uverbs_query_qp()
1995 resp.max_send_sge = init_attr->cap.max_send_sge; in ib_uverbs_query_qp()
1996 resp.max_recv_sge = init_attr->cap.max_recv_sge; in ib_uverbs_query_qp()
1997 resp.max_inline_data = init_attr->cap.max_inline_data; in ib_uverbs_query_qp()
1998 resp.sq_sig_all = init_attr->sq_sig_type == IB_SIGNAL_ALL_WR; in ib_uverbs_query_qp()
2001 &resp, sizeof resp)) in ib_uverbs_query_qp()
2126 struct ib_uverbs_destroy_qp_resp resp; in ib_uverbs_destroy_qp() local
2135 memset(&resp, 0, sizeof resp); in ib_uverbs_destroy_qp()
2168 resp.events_reported = obj->uevent.events_reported; in ib_uverbs_destroy_qp()
2173 &resp, sizeof resp)) in ib_uverbs_destroy_qp()
2184 struct ib_uverbs_post_send_resp resp; in ib_uverbs_post_send() local
2316 resp.bad_wr = 0; in ib_uverbs_post_send()
2320 ++resp.bad_wr; in ib_uverbs_post_send()
2326 &resp, sizeof resp)) in ib_uverbs_post_send()
2436 struct ib_uverbs_post_recv_resp resp; in ib_uverbs_post_recv() local
2454 resp.bad_wr = 0; in ib_uverbs_post_recv()
2461 ++resp.bad_wr; in ib_uverbs_post_recv()
2467 &resp, sizeof resp)) in ib_uverbs_post_recv()
2485 struct ib_uverbs_post_srq_recv_resp resp; in ib_uverbs_post_srq_recv() local
2503 resp.bad_wr = 0; in ib_uverbs_post_srq_recv()
2510 ++resp.bad_wr; in ib_uverbs_post_srq_recv()
2516 &resp, sizeof resp)) in ib_uverbs_post_srq_recv()
2534 struct ib_uverbs_create_ah_resp resp; in ib_uverbs_create_ah() local
2541 if (out_len < sizeof resp) in ib_uverbs_create_ah()
2587 resp.ah_handle = uobj->id; in ib_uverbs_create_ah()
2590 &resp, sizeof resp)) { in ib_uverbs_create_ah()
2789 struct ib_uverbs_create_flow_resp resp; in ib_uverbs_ex_create_flow() local
2803 if (ucore->outlen < sizeof(resp)) in ib_uverbs_ex_create_flow()
2908 memset(&resp, 0, sizeof(resp)); in ib_uverbs_ex_create_flow()
2909 resp.flow_handle = uobj->id; in ib_uverbs_ex_create_flow()
2912 &resp, sizeof(resp)); in ib_uverbs_ex_create_flow()
2990 struct ib_uverbs_create_srq_resp resp; in __uverbs_create_xsrq() local
3066 memset(&resp, 0, sizeof resp); in __uverbs_create_xsrq()
3067 resp.srq_handle = obj->uevent.uobject.id; in __uverbs_create_xsrq()
3068 resp.max_wr = attr.attr.max_wr; in __uverbs_create_xsrq()
3069 resp.max_sge = attr.attr.max_sge; in __uverbs_create_xsrq()
3071 resp.srqn = srq->ext.xrc.srq_num; in __uverbs_create_xsrq()
3074 &resp, sizeof resp)) { in __uverbs_create_xsrq()
3125 struct ib_uverbs_create_srq_resp resp; in ib_uverbs_create_srq() local
3129 if (out_len < sizeof resp) in ib_uverbs_create_srq()
3144 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_create_srq()
3145 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_create_srq()
3158 struct ib_uverbs_create_srq_resp resp; in ib_uverbs_create_xsrq() local
3162 if (out_len < sizeof resp) in ib_uverbs_create_xsrq()
3169 (unsigned long) cmd.response + sizeof resp, in ib_uverbs_create_xsrq()
3170 in_len - sizeof cmd, out_len - sizeof resp); in ib_uverbs_create_xsrq()
3214 struct ib_uverbs_query_srq_resp resp; in ib_uverbs_query_srq() local
3219 if (out_len < sizeof resp) in ib_uverbs_query_srq()
3236 memset(&resp, 0, sizeof resp); in ib_uverbs_query_srq()
3238 resp.max_wr = attr.max_wr; in ib_uverbs_query_srq()
3239 resp.max_sge = attr.max_sge; in ib_uverbs_query_srq()
3240 resp.srq_limit = attr.srq_limit; in ib_uverbs_query_srq()
3243 &resp, sizeof resp)) in ib_uverbs_query_srq()
3254 struct ib_uverbs_destroy_srq_resp resp; in ib_uverbs_destroy_srq() local
3294 memset(&resp, 0, sizeof resp); in ib_uverbs_destroy_srq()
3295 resp.events_reported = obj->events_reported; in ib_uverbs_destroy_srq()
3300 &resp, sizeof resp)) in ib_uverbs_destroy_srq()
3310 struct ib_uverbs_ex_query_device_resp resp; in ib_uverbs_ex_query_device() local
3330 resp.response_length = offsetof(typeof(resp), odp_caps); in ib_uverbs_ex_query_device()
3332 if (ucore->outlen < resp.response_length) in ib_uverbs_ex_query_device()
3339 copy_query_dev_fields(file, &resp.base, &attr); in ib_uverbs_ex_query_device()
3340 resp.comp_mask = 0; in ib_uverbs_ex_query_device()
3342 if (ucore->outlen < resp.response_length + sizeof(resp.odp_caps)) in ib_uverbs_ex_query_device()
3346 resp.odp_caps.general_caps = attr.odp_caps.general_caps; in ib_uverbs_ex_query_device()
3347 resp.odp_caps.per_transport_caps.rc_odp_caps = in ib_uverbs_ex_query_device()
3349 resp.odp_caps.per_transport_caps.uc_odp_caps = in ib_uverbs_ex_query_device()
3351 resp.odp_caps.per_transport_caps.ud_odp_caps = in ib_uverbs_ex_query_device()
3353 resp.odp_caps.reserved = 0; in ib_uverbs_ex_query_device()
3355 memset(&resp.odp_caps, 0, sizeof(resp.odp_caps)); in ib_uverbs_ex_query_device()
3357 resp.response_length += sizeof(resp.odp_caps); in ib_uverbs_ex_query_device()
3360 err = ib_copy_to_udata(ucore, &resp, resp.response_length); in ib_uverbs_ex_query_device()