- if (!sq->wqe_umem) {
- DRV_LOG(ERR, "Can't register wqe mem.");
- rte_errno = ENOMEM;
- goto error;
- }
- attr.state = MLX5_SQC_STATE_RST;
- attr.tis_lst_sz = 0;
- attr.tis_num = 0;
- attr.user_index = q_ind;
- attr.cqn = qp->cq.obj->id;
- wq_attr->uar_page = priv->uar->page_id;
- regex_get_pdn(priv->pd, &pd_num);
- wq_attr->pd = pd_num;
- wq_attr->wq_type = MLX5_WQ_TYPE_CYCLIC;
- wq_attr->dbr_umem_id = sq->dbr_umem;
- wq_attr->dbr_addr = sq->dbr_offset;
- wq_attr->dbr_umem_valid = 1;
- wq_attr->wq_umem_id = mlx5_os_get_umem_id(sq->wqe_umem);
- wq_attr->wq_umem_offset = 0;
- wq_attr->wq_umem_valid = 1;
- wq_attr->log_wq_stride = 6;
- wq_attr->log_wq_sz = sq->log_nb_desc;
- sq->obj = mlx5_devx_cmd_create_sq(priv->ctx, &attr);
- if (!sq->obj) {
- DRV_LOG(ERR, "Can't create sq object.");
- rte_errno = ENOMEM;
- goto error;
+ ret = regex_get_pdn(priv->pd, &pd_num);
+ if (ret)
+ return ret;
+ attr.wq_attr.pd = pd_num;
+ ret = mlx5_devx_sq_create(priv->ctx, &sq->sq_obj, log_nb_desc, &attr,
+ SOCKET_ID_ANY);
+ if (ret) {
+ DRV_LOG(ERR, "Can't create SQ object.");
+ rte_errno = ENOMEM;
+ return -rte_errno;