summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/mellanox/mlx5/core/rdma.c
diff options
context:
space:
mode:
authorMaor Gottlieb <maorg@mellanox.com>2019-08-29 23:42:34 +0000
committerSaeed Mahameed <saeedm@mellanox.com>2019-09-01 23:44:42 -0700
commit3a6ef5158d4a01a2ddd88c3c978e6de0d10ee759 (patch)
treeafa4011ca5229428f0d7308bb06c04286aab719e /drivers/net/ethernet/mellanox/mlx5/core/rdma.c
parent97b5484ed608605dca9e461c0289d1195ba9608d (diff)
net/mlx5: Avoid disabling RoCE when uninitialized
Move the check if RoCE steering is initialized to the disable RoCE function, it will ensure that we disable RoCE only if we succeeded in enabling it before. Fixes: 80f09dfc237f ("net/mlx5: Eswitch, enable RoCE loopback traffic") Signed-off-by: Maor Gottlieb <maorg@mellanox.com> Reviewed-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/rdma.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/rdma.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/rdma.c b/drivers/net/ethernet/mellanox/mlx5/core/rdma.c
index 18af6981e0be..0fc7de4aa572 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/rdma.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/rdma.c
@@ -14,9 +14,6 @@ static void mlx5_rdma_disable_roce_steering(struct mlx5_core_dev *dev)
{
struct mlx5_core_roce *roce = &dev->priv.roce;
- if (!roce->ft)
- return;
-
mlx5_del_flow_rules(roce->allow_rule);
mlx5_destroy_flow_group(roce->fg);
mlx5_destroy_flow_table(roce->ft);
@@ -145,6 +142,11 @@ static int mlx5_rdma_add_roce_addr(struct mlx5_core_dev *dev)
void mlx5_rdma_disable_roce(struct mlx5_core_dev *dev)
{
+ struct mlx5_core_roce *roce = &dev->priv.roce;
+
+ if (!roce->ft)
+ return;
+
mlx5_rdma_disable_roce_steering(dev);
mlx5_rdma_del_roce_addr(dev);
mlx5_nic_vport_disable_roce(dev);