public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
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
> 

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox