diff options
author | Maor Gottlieb <maorg@mellanox.com> | 2016-06-09 17:07:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-10 01:06:26 -0400 |
commit | bd02ef8eec0b98abe6d5efe280c87903b2eb9874 (patch) | |
tree | c3d5c752f61a6447c464eba6dcb7ddc476c60f59 /drivers | |
parent | 876d634d19e41603aab91455f2c52a78a28372d5 (diff) |
net/mlx5: Fix E-Switch flow steering capabilities check
Add missing capabilities check for E-Switch FDB and ACLs flow
tables before creating their namespace in flow steering.
Fixes: efdc810ba39d ('net/mlx5: Flow steering, Add vport ACL support')
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c index c1efa5517d17..e912a3d2505e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | |||
@@ -1846,19 +1846,21 @@ int mlx5_init_fs(struct mlx5_core_dev *dev) | |||
1846 | } | 1846 | } |
1847 | 1847 | ||
1848 | if (MLX5_CAP_GEN(dev, eswitch_flow_table)) { | 1848 | if (MLX5_CAP_GEN(dev, eswitch_flow_table)) { |
1849 | err = init_fdb_root_ns(dev); | 1849 | if (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, ft_support)) { |
1850 | if (err) | 1850 | err = init_fdb_root_ns(dev); |
1851 | goto err; | 1851 | if (err) |
1852 | } | 1852 | goto err; |
1853 | if (MLX5_CAP_ESW_EGRESS_ACL(dev, ft_support)) { | 1853 | } |
1854 | err = init_egress_acl_root_ns(dev); | 1854 | if (MLX5_CAP_ESW_EGRESS_ACL(dev, ft_support)) { |
1855 | if (err) | 1855 | err = init_egress_acl_root_ns(dev); |
1856 | goto err; | 1856 | if (err) |
1857 | } | 1857 | goto err; |
1858 | if (MLX5_CAP_ESW_INGRESS_ACL(dev, ft_support)) { | 1858 | } |
1859 | err = init_ingress_acl_root_ns(dev); | 1859 | if (MLX5_CAP_ESW_INGRESS_ACL(dev, ft_support)) { |
1860 | if (err) | 1860 | err = init_ingress_acl_root_ns(dev); |
1861 | goto err; | 1861 | if (err) |
1862 | goto err; | ||
1863 | } | ||
1862 | } | 1864 | } |
1863 | 1865 | ||
1864 | return 0; | 1866 | return 0; |