From: Parav Pandit <pa...@nvidia.com>

Move to newly introduced client_supported callback
Avoid client registration using newly introduced helper callback if the
IB device doesn't have OPA VNIC capability.

Signed-off-by: Parav Pandit <pa...@nvidia.com>
Signed-off-by: Leon Romanovsky <leo...@nvidia.com>
---
 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c 
b/drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
index cecf0f7cadf9..58658eba97dd 100644
--- a/drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
+++ b/drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
@@ -121,6 +121,7 @@ static struct ib_client opa_vnic_client = {
        .name   = opa_vnic_driver_name,
        .add    = opa_vnic_vema_add_one,
        .remove = opa_vnic_vema_rem_one,
+       .is_supported = rdma_cap_opa_vnic,
 };
 
 /**
@@ -993,9 +994,6 @@ static int opa_vnic_vema_add_one(struct ib_device *device)
        struct opa_vnic_ctrl_port *cport;
        int rc, size = sizeof(*cport);
 
-       if (!rdma_cap_opa_vnic(device))
-               return -EOPNOTSUPP;
-
        size += device->phys_port_cnt * sizeof(struct opa_vnic_vema_port);
        cport = kzalloc(size, GFP_KERNEL);
        if (!cport)
-- 
2.30.2

Reply via email to