Message ID | 1473696984-6161-7-git-send-email-leon@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Mon, Sep 12, 2016 at 07:16:23PM +0300, Leon Romanovsky wrote: > From: Noa Osherovich <noaos@mellanox.com> > > MAD_IFC command is supported only for physical functions (PF) > and when physical port is IB. The proposed fix enforces it. > > Fixes: d603c809ef91 ("IB/mlx5: Fix decision on using MAD_IFC") > Reported-by: David Chang <dchang@suse.com> > Signed-off-by: Noa Osherovich <noaos@mellanox.com> > Signed-off-by: Leon Romanovsky <leon@kernel.org> Let's see if patchworks handles tags with name/email different from FROM field of email sender. Reported-and-tested-by: Sujith Pandel <sujith_pandel@dell.com> http://marc.info/?l=linux-rdma&m=147373086900629&w=2 > --- > drivers/infiniband/hw/mlx5/main.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c > index 8150ea3..0480b64 100644 > --- a/drivers/infiniband/hw/mlx5/main.c > +++ b/drivers/infiniband/hw/mlx5/main.c > @@ -288,7 +288,9 @@ __be16 mlx5_get_roce_udp_sport(struct mlx5_ib_dev *dev, u8 port_num, > > static int mlx5_use_mad_ifc(struct mlx5_ib_dev *dev) > { > - return !MLX5_CAP_GEN(dev->mdev, ib_virt); > + if (MLX5_CAP_GEN(dev->mdev, port_type) == MLX5_CAP_PORT_TYPE_IB) > + return !MLX5_CAP_GEN(dev->mdev, ib_virt); > + return 0; > } > > enum { > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c index 8150ea3..0480b64 100644 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -288,7 +288,9 @@ __be16 mlx5_get_roce_udp_sport(struct mlx5_ib_dev *dev, u8 port_num, static int mlx5_use_mad_ifc(struct mlx5_ib_dev *dev) { - return !MLX5_CAP_GEN(dev->mdev, ib_virt); + if (MLX5_CAP_GEN(dev->mdev, port_type) == MLX5_CAP_PORT_TYPE_IB) + return !MLX5_CAP_GEN(dev->mdev, ib_virt); + return 0; } enum {