From: Kamal Heib <kamalheib1@gmail.com>
To: linux-rdma@vger.kernel.org
Cc: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@ziepe.ca>
Subject: Re: [PATCH for-next] RDMA/providers: Fix return value when QP type isn't supported
Date: Fri, 21 Feb 2020 01:01:38 +0200 [thread overview]
Message-ID: <20200220230138.GA3489@kheib-workstation> (raw)
In-Reply-To: <20200130082049.463-1-kamalheib1@gmail.com>
On Thu, Jan 30, 2020 at 10:20:49AM +0200, Kamal Heib wrote:
> The proper return code is "-EOPNOTSUPP" when the requested QP type is
> not supported by the provider.
>
> Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
Anything blocking this patch from getting merged?
> ---
> drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +-
> drivers/infiniband/hw/cxgb4/qp.c | 2 +-
> drivers/infiniband/hw/hns/hns_roce_qp.c | 2 +-
> drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 +-
> drivers/infiniband/hw/mlx4/qp.c | 2 +-
> drivers/infiniband/hw/mlx5/qp.c | 2 +-
> drivers/infiniband/hw/mthca/mthca_provider.c | 2 +-
> drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +-
> drivers/infiniband/hw/qedr/verbs.c | 2 +-
> drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 2 +-
> drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +-
> drivers/infiniband/sw/rdmavt/qp.c | 2 +-
> drivers/infiniband/sw/siw/siw_verbs.c | 2 +-
> 13 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
> index 52b6a4d85460..f1a75ff44d5a 100644
> --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
> +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
> @@ -1016,7 +1016,7 @@ struct ib_qp *bnxt_re_create_qp(struct ib_pd *ib_pd,
> if (qp->qplib_qp.type == IB_QPT_MAX) {
> dev_err(rdev_to_dev(rdev), "QP type 0x%x not supported",
> qp->qplib_qp.type);
> - rc = -EINVAL;
> + rc = -EOPNOTSUPP;
> goto fail;
> }
>
> diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c
> index bbcac539777a..708216d82852 100644
> --- a/drivers/infiniband/hw/cxgb4/qp.c
> +++ b/drivers/infiniband/hw/cxgb4/qp.c
> @@ -2127,7 +2127,7 @@ struct ib_qp *c4iw_create_qp(struct ib_pd *pd, struct ib_qp_init_attr *attrs,
> pr_debug("ib_pd %p\n", pd);
>
> if (attrs->qp_type != IB_QPT_RC)
> - return ERR_PTR(-EINVAL);
> + return ERR_PTR(-EOPNOTSUPP);
>
> php = to_c4iw_pd(pd);
> rhp = php->rhp;
> diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c
> index 3257ad11be48..3df48bda4185 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_qp.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
> @@ -1097,7 +1097,7 @@ struct ib_qp *hns_roce_create_qp(struct ib_pd *pd,
> default:{
> ibdev_err(ibdev, "not support QP type %d\n",
> init_attr->qp_type);
> - return ERR_PTR(-EINVAL);
> + return ERR_PTR(-EOPNOTSUPP);
> }
> }
>
> diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
> index c335de91508f..fa1292932b88 100644
> --- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c
> +++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
> @@ -617,7 +617,7 @@ static struct ib_qp *i40iw_create_qp(struct ib_pd *ibpd,
> iwqp->ctx_info.qp_compl_ctx = (uintptr_t)qp;
>
> if (init_attr->qp_type != IB_QPT_RC) {
> - err_code = -EINVAL;
> + err_code = -EOPNOTSUPP;
> goto error;
> }
> if (iwdev->push_mode)
> diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
> index 26425dd2d960..2f9f78912267 100644
> --- a/drivers/infiniband/hw/mlx4/qp.c
> +++ b/drivers/infiniband/hw/mlx4/qp.c
> @@ -1636,7 +1636,7 @@ static struct ib_qp *_mlx4_ib_create_qp(struct ib_pd *pd,
> }
> default:
> /* Don't support raw QPs */
> - return ERR_PTR(-EINVAL);
> + return ERR_PTR(-EOPNOTSUPP);
> }
>
> return &qp->ibqp;
> diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c
> index a4f8e7030787..a597c9043b1d 100644
> --- a/drivers/infiniband/hw/mlx5/qp.c
> +++ b/drivers/infiniband/hw/mlx5/qp.c
> @@ -2789,7 +2789,7 @@ struct ib_qp *mlx5_ib_create_qp(struct ib_pd *pd,
> mlx5_ib_dbg(dev, "unsupported qp type %d\n",
> init_attr->qp_type);
> /* Don't support raw QPs */
> - return ERR_PTR(-EINVAL);
> + return ERR_PTR(-EOPNOTSUPP);
> }
>
> if (verbs_init_attr->qp_type == IB_QPT_DRIVER)
> diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c
> index ac19d57803b5..69a3e4f62fb1 100644
> --- a/drivers/infiniband/hw/mthca/mthca_provider.c
> +++ b/drivers/infiniband/hw/mthca/mthca_provider.c
> @@ -561,7 +561,7 @@ static struct ib_qp *mthca_create_qp(struct ib_pd *pd,
> }
> default:
> /* Don't support raw QPs */
> - return ERR_PTR(-ENOSYS);
> + return ERR_PTR(-EOPNOTSUPP);
> }
>
> if (err) {
> diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> index d47ea675734b..10e343894595 100644
> --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
> @@ -1111,7 +1111,7 @@ static int ocrdma_check_qp_params(struct ib_pd *ibpd, struct ocrdma_dev *dev,
> (attrs->qp_type != IB_QPT_UD)) {
> pr_err("%s(%d) unsupported qp type=0x%x requested\n",
> __func__, dev->id, attrs->qp_type);
> - return -EINVAL;
> + return -EOPNOTSUPP;
> }
> /* Skip the check for QP1 to support CM size of 128 */
> if ((attrs->qp_type != IB_QPT_GSI) &&
> diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
> index 484b555150e0..a5bd3adaf90a 100644
> --- a/drivers/infiniband/hw/qedr/verbs.c
> +++ b/drivers/infiniband/hw/qedr/verbs.c
> @@ -1186,7 +1186,7 @@ static int qedr_check_qp_attrs(struct ib_pd *ibpd, struct qedr_dev *dev,
> DP_DEBUG(dev, QEDR_MSG_QP,
> "create qp: unsupported qp type=0x%x requested\n",
> attrs->qp_type);
> - return -EINVAL;
> + return -EOPNOTSUPP;
> }
>
> if (attrs->cap.max_send_wr > qattr->max_sqe) {
> diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
> index 556b8e44a51c..71f82339446c 100644
> --- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
> +++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
> @@ -504,7 +504,7 @@ struct ib_qp *usnic_ib_create_qp(struct ib_pd *pd,
> if (init_attr->qp_type != IB_QPT_UD) {
> usnic_err("%s asked to make a non-UD QP: %d\n",
> dev_name(&us_ibdev->ib_dev.dev), init_attr->qp_type);
> - return ERR_PTR(-EINVAL);
> + return ERR_PTR(-EOPNOTSUPP);
> }
>
> trans_spec = cmd.spec;
> diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
> index 9de1281f9a3b..afcc2abcf55c 100644
> --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
> +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
> @@ -217,7 +217,7 @@ struct ib_qp *pvrdma_create_qp(struct ib_pd *pd,
> init_attr->qp_type != IB_QPT_GSI) {
> dev_warn(&dev->pdev->dev, "queuepair type %d not supported\n",
> init_attr->qp_type);
> - return ERR_PTR(-EINVAL);
> + return ERR_PTR(-EOPNOTSUPP);
> }
>
> if (is_srq && !dev->dsr->caps.max_srq) {
> diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c
> index 3cdf75d0c7a4..762d4dc11c41 100644
> --- a/drivers/infiniband/sw/rdmavt/qp.c
> +++ b/drivers/infiniband/sw/rdmavt/qp.c
> @@ -1196,7 +1196,7 @@ struct ib_qp *rvt_create_qp(struct ib_pd *ibpd,
>
> default:
> /* Don't support raw QPs */
> - return ERR_PTR(-EINVAL);
> + return ERR_PTR(-EOPNOTSUPP);
> }
>
> init_attr->cap.max_inline_data = 0;
> diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c
> index 07e30138aaa1..fab934bdb2a0 100644
> --- a/drivers/infiniband/sw/siw/siw_verbs.c
> +++ b/drivers/infiniband/sw/siw/siw_verbs.c
> @@ -322,7 +322,7 @@ struct ib_qp *siw_create_qp(struct ib_pd *pd,
> }
> if (attrs->qp_type != IB_QPT_RC) {
> siw_dbg(base_dev, "only RC QP's supported\n");
> - rv = -EINVAL;
> + rv = -EOPNOTSUPP;
> goto err_out;
> }
> if ((attrs->cap.max_send_wr > SIW_MAX_QP_WR) ||
> --
> 2.21.1
>
next prev parent reply other threads:[~2020-02-20 23:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-30 8:20 [PATCH for-next] RDMA/providers: Fix return value when QP type isn't supported Kamal Heib
2020-01-30 8:39 ` Leon Romanovsky
2020-01-30 16:07 ` Dennis Dalessandro
2020-02-02 9:29 ` Leon Romanovsky
2020-01-30 16:08 ` Dennis Dalessandro
2020-02-20 23:01 ` Kamal Heib [this message]
2020-02-21 16:47 ` Jason Gunthorpe
2020-03-04 16:14 ` Jason Gunthorpe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200220230138.GA3489@kheib-workstation \
--to=kamalheib1@gmail.com \
--cc=dledford@redhat.com \
--cc=jgg@ziepe.ca \
--cc=linux-rdma@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.