There is no create_user_ah in ib_device_ops, remove it.
Signed-off-by: Yajun Deng <[email protected]>
---
drivers/infiniband/hw/efa/efa_main.c | 2 +-
drivers/infiniband/hw/efa/efa_verbs.c | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/efa/efa_main.c b/drivers/infiniband/hw/efa/efa_main.c
index 94b94cca4870..b2f3832cd305 100644
--- a/drivers/infiniband/hw/efa/efa_main.c
+++ b/drivers/infiniband/hw/efa/efa_main.c
@@ -361,7 +361,7 @@ static const struct ib_device_ops efa_dev_ops = {
.alloc_ucontext = efa_alloc_ucontext,
.create_cq = efa_create_cq,
.create_qp = efa_create_qp,
- .create_user_ah = efa_create_ah,
+ .create_ah = efa_create_ah,
.dealloc_pd = efa_dealloc_pd,
.dealloc_ucontext = efa_dealloc_ucontext,
.dereg_mr = efa_dereg_mr,
diff --git a/drivers/infiniband/hw/efa/efa_verbs.c b/drivers/infiniband/hw/efa/efa_verbs.c
index ecfe70eb5efb..44269eb18780 100644
--- a/drivers/infiniband/hw/efa/efa_verbs.c
+++ b/drivers/infiniband/hw/efa/efa_verbs.c
@@ -1959,6 +1959,11 @@ int efa_create_ah(struct ib_ah *ibah,
struct efa_ah *ah = to_eah(ibah);
int err;
+ if (!udata) {
+ err = -EOPNOTSUPP;
+ goto err_out;
+ }
+
if (!(init_attr->flags & RDMA_CREATE_AH_SLEEPABLE)) {
ibdev_dbg(&dev->ibdev,
"Create address handle is not supported in atomic context\n");
--
2.25.1
On 08/03/2022 16:37, Yajun Deng wrote:
> There is no create_user_ah in ib_device_ops, remove it.
>
> Signed-off-by: Yajun Deng <[email protected]>
> ---
> drivers/infiniband/hw/efa/efa_main.c | 2 +-
> drivers/infiniband/hw/efa/efa_verbs.c | 5 +++++
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/efa/efa_main.c b/drivers/infiniband/hw/efa/efa_main.c
> index 94b94cca4870..b2f3832cd305 100644
> --- a/drivers/infiniband/hw/efa/efa_main.c
> +++ b/drivers/infiniband/hw/efa/efa_main.c
> @@ -361,7 +361,7 @@ static const struct ib_device_ops efa_dev_ops = {
> .alloc_ucontext = efa_alloc_ucontext,
> .create_cq = efa_create_cq,
> .create_qp = efa_create_qp,
> - .create_user_ah = efa_create_ah,
> + .create_ah = efa_create_ah,
> .dealloc_pd = efa_dealloc_pd,
> .dealloc_ucontext = efa_dealloc_ucontext,
> .dereg_mr = efa_dereg_mr,
> diff --git a/drivers/infiniband/hw/efa/efa_verbs.c b/drivers/infiniband/hw/efa/efa_verbs.c
> index ecfe70eb5efb..44269eb18780 100644
> --- a/drivers/infiniband/hw/efa/efa_verbs.c
> +++ b/drivers/infiniband/hw/efa/efa_verbs.c
> @@ -1959,6 +1959,11 @@ int efa_create_ah(struct ib_ah *ibah,
> struct efa_ah *ah = to_eah(ibah);
> int err;
>
> + if (!udata) {
> + err = -EOPNOTSUPP;
> + goto err_out;
> + }
> +
This part is not needed, kverbs flows are blocked for EFA.
Thanks