cmd->cq_handle = attr_ex->cq->handle;
if (write(pd->context->cmd_fd, cmd, cmd_size) != cmd_size)
- return errno;
+ return errno;
VALGRIND_MAKE_MEM_DEFINED(resp, resp_size);
struct ibv_srq_init_attr *srq_init_attr)
{
struct ibv_srq_init_attr_ex srq_init_attr_ex;
+ struct ibv_srq *srq;
memcpy(&srq_init_attr_ex, srq_init_attr, sizeof *srq_init_attr);
srq_init_attr_ex.comp_mask = 0;
- return ibv_create_srq_ex(pd, &srq_init_attr_ex);
+ srq = ibv_create_srq_ex(pd, &srq_init_attr_ex);
+ if (srq)
+ memcpy(srq_init_attr, &srq_init_attr_ex, sizeof *srq_init_attr);
+
+ return srq;
}
default_symver(__ibv_create_srq, ibv_create_srq);