net/mlx5: fix probing if DevX disabled
authorViacheslav Ovsiienko <viacheslavo@mellanox.com>
Mon, 22 Apr 2019 12:38:17 +0000 (12:38 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 3 May 2019 16:45:22 +0000 (18:45 +0200)
If there is the support of DevX is exposed by rdma-core but
DevX is not supported by or disabled for the specific interface
the mlx5_devx_cmd_query_hca_attr() routine returns an error
preventing the device from successful probing. The routine
should be invoked only in case of enabled DevX.

Fixes: e2b4925ef7c1 ("net/mlx5: support Direct Rules E-Switch")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
drivers/net/mlx5/mlx5.c

index 4944310..1bb58b1 100644 (file)
@@ -1519,10 +1519,12 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
         */
        mlx5_link_update(eth_dev, 0);
 #ifdef HAVE_IBV_DEVX_OBJ
-       err = mlx5_devx_cmd_query_hca_attr(sh->ctx, &config.hca_attr);
-       if (err) {
-               err = -err;
-               goto error;
+       if (config.devx) {
+               err = mlx5_devx_cmd_query_hca_attr(sh->ctx, &config.hca_attr);
+               if (err) {
+                       err = -err;
+                       goto error;
+               }
        }
 #endif
 #ifdef HAVE_MLX5DV_DR_ESWITCH