| From b5a5893f9ec57362760ee74fce76e88a4a8bf055 Mon Sep 17 00:00:00 2001 |
| From: Omri Kahalon <omrik@mellanox.com> |
| Date: Sun, 24 Feb 2019 16:31:08 +0200 |
| Subject: net/mlx5: E-Switch, Fix esw manager vport indication for more vport |
| commands |
| |
| [ Upstream commit eca4a928585ac08147e5cc8e2111ecbc6279ee31 ] |
| |
| Traditionally, the PF (Physical Function) which resides on vport 0 was |
| the E-switch manager. Since the ECPF (Embedded CPU Physical Function), |
| which resides on vport 0xfffe, was introduced as the E-Switch manager, |
| the assumption that the E-switch manager is on vport 0 is incorrect. |
| |
| Since the eswitch code already uses the actual vport value, all we |
| need is to always set other_vport=1. |
| |
| Signed-off-by: Omri Kahalon <omrik@mellanox.com> |
| Reviewed-by: Max Gurtovoy <maxg@mellanox.com> |
| Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> |
| Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 6 ++---- |
| 1 file changed, 2 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c |
| index 13c48883ed61..619f96940b65 100644 |
| --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c |
| +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c |
| @@ -81,8 +81,7 @@ static int arm_vport_context_events_cmd(struct mlx5_core_dev *dev, u16 vport, |
| opcode, MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT); |
| MLX5_SET(modify_nic_vport_context_in, in, field_select.change_event, 1); |
| MLX5_SET(modify_nic_vport_context_in, in, vport_number, vport); |
| - if (vport) |
| - MLX5_SET(modify_nic_vport_context_in, in, other_vport, 1); |
| + MLX5_SET(modify_nic_vport_context_in, in, other_vport, 1); |
| nic_vport_ctx = MLX5_ADDR_OF(modify_nic_vport_context_in, |
| in, nic_vport_context); |
| |
| @@ -110,8 +109,7 @@ static int modify_esw_vport_context_cmd(struct mlx5_core_dev *dev, u16 vport, |
| MLX5_SET(modify_esw_vport_context_in, in, opcode, |
| MLX5_CMD_OP_MODIFY_ESW_VPORT_CONTEXT); |
| MLX5_SET(modify_esw_vport_context_in, in, vport_number, vport); |
| - if (vport) |
| - MLX5_SET(modify_esw_vport_context_in, in, other_vport, 1); |
| + MLX5_SET(modify_esw_vport_context_in, in, other_vport, 1); |
| return mlx5_cmd_exec(dev, in, inlen, out, sizeof(out)); |
| } |
| |
| -- |
| 2.20.1 |
| |