On Tue, Jan 22, 2019 at 08:48:51AM +0200, Leon Romanovsky wrote: > From: Moni Shoua <monis@xxxxxxxxxxxx> > > To avoid compatibility issue with older kernels the firmware doesn't > allow SRQ to work with ODP unless kernel asks for it. > > Signed-off-by: Moni Shoua <monis@xxxxxxxxxxxx> > Reviewed-by: Majd Dibbiny <majd@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > .../net/ethernet/mellanox/mlx5/core/main.c | 53 +++++++++++++++++++ > include/linux/mlx5/device.h | 3 ++ > include/linux/mlx5/mlx5_ifc.h | 1 + > 3 files changed, 57 insertions(+) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c > index be81b319b0dc..b3a76df0cf6c 100644 > +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c > @@ -459,6 +459,53 @@ static int handle_hca_cap_atomic(struct mlx5_core_dev *dev) > return err; > } > > +static int handle_hca_cap_odp(struct mlx5_core_dev *dev) > +{ > + void *set_ctx; > + void *set_hca_cap; > + int set_sz = MLX5_ST_SZ_BYTES(set_hca_cap_in); > + int err; > + > + if (!MLX5_CAP_GEN(dev, pg)) > + return 0; Should a if (IS_ENABLED(CONFIG_INFINIBAND_ON_DEMAND_PAGING)) return 0; Be here? Jason