mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-04 12:54:37 +08:00
RDMA/mlx5: Fix query RoCE port
mlx5_is_roce_enabled returns the devlink RoCE init value, therefore it
should be used only when driver is loaded. Instead we just need to read
the roce_en field.
In addition, rename mlx5_is_roce_enabled to mlx5_is_roce_init_enabled.
Fixes: 7a58779edd
("IB/mlx5: Improve query port for representor port")
Link: https://lore.kernel.org/r/20210304124517.1100608-2-leon@kernel.org
Signed-off-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
14d05b552b
commit
7852546f52
@ -499,7 +499,7 @@ static int mlx5_query_port_roce(struct ib_device *device, u8 port_num,
|
||||
translate_eth_proto_oper(eth_prot_oper, &props->active_speed,
|
||||
&props->active_width, ext);
|
||||
|
||||
if (!dev->is_rep && mlx5_is_roce_enabled(mdev)) {
|
||||
if (!dev->is_rep && dev->mdev->roce.roce_en) {
|
||||
u16 qkey_viol_cntr;
|
||||
|
||||
props->port_cap_flags |= IB_PORT_CM_SUP;
|
||||
@ -4174,7 +4174,7 @@ static int mlx5_ib_roce_init(struct mlx5_ib_dev *dev)
|
||||
|
||||
/* Register only for native ports */
|
||||
err = mlx5_add_netdev_notifier(dev, port_num);
|
||||
if (err || dev->is_rep || !mlx5_is_roce_enabled(mdev))
|
||||
if (err || dev->is_rep || !mlx5_is_roce_init_enabled(mdev))
|
||||
/*
|
||||
* We don't enable ETH interface for
|
||||
* 1. IB representors
|
||||
@ -4711,7 +4711,7 @@ static int mlx5r_probe(struct auxiliary_device *adev,
|
||||
dev->mdev = mdev;
|
||||
dev->num_ports = num_ports;
|
||||
|
||||
if (ll == IB_LINK_LAYER_ETHERNET && !mlx5_is_roce_enabled(mdev))
|
||||
if (ll == IB_LINK_LAYER_ETHERNET && !mlx5_is_roce_init_enabled(mdev))
|
||||
profile = &raw_eth_profile;
|
||||
else
|
||||
profile = &pf_profile;
|
||||
|
@ -1226,7 +1226,7 @@ enum {
|
||||
MLX5_TRIGGERED_CMD_COMP = (u64)1 << 32,
|
||||
};
|
||||
|
||||
static inline bool mlx5_is_roce_enabled(struct mlx5_core_dev *dev)
|
||||
static inline bool mlx5_is_roce_init_enabled(struct mlx5_core_dev *dev)
|
||||
{
|
||||
struct devlink *devlink = priv_to_devlink(dev);
|
||||
union devlink_param_value val;
|
||||
|
Loading…
Reference in New Issue
Block a user