From: Leon Romanovsky <leonro@xxxxxxxxxxxx> Compilation with CONFIG_MLX5_CORE_IPOIB is not set produces the following compilation error. This happen because that function is implemented in mlx5_core in ipoib/ipoib.c and guarded by special config. ERROR: "mlx5_rdma_rn_get_params" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined! make[1]: *** [scripts/Makefile.modpost:92: __modpost] Error 1 make: *** [Makefile:1271: modules] Error 2 Fixes: 14e47545f884 ("RDMA/mlx5: Initialize ib_device_ops struct") Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> --- drivers/infiniband/hw/mlx5/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c index 21951165a1f0..0d8ecb6c34f0 100644 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -5942,7 +5942,8 @@ int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev) (1ull << IB_USER_VERBS_EX_CMD_CREATE_FLOW) | (1ull << IB_USER_VERBS_EX_CMD_DESTROY_FLOW); - if (MLX5_CAP_GEN(mdev, ipoib_enhanced_offloads)) + if (MLX5_CAP_GEN(mdev, ipoib_enhanced_offloads) && + IS_ENABLED(CONFIG_MLX5_CORE_IPOIB)) ib_set_device_ops(&dev->ib_dev, &mlx5_ib_dev_ipoib_enhanced_ops); -- 2.19.1