net/mlx5: Fix required capability for manipulating MPFS
Manipulating of the MPFS requires eswitch manager capabilities. Fixes: eeb66cdb6826 ('net/mlx5: Separate between E-Switch and MPFS') Signed-off-by: Eli Cohen <eli@mellanox.com> Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
a8d70a054a
commit
f811980444
@ -33,6 +33,7 @@
|
|||||||
#include <linux/etherdevice.h>
|
#include <linux/etherdevice.h>
|
||||||
#include <linux/mlx5/driver.h>
|
#include <linux/mlx5/driver.h>
|
||||||
#include <linux/mlx5/mlx5_ifc.h>
|
#include <linux/mlx5/mlx5_ifc.h>
|
||||||
|
#include <linux/mlx5/eswitch.h>
|
||||||
#include "mlx5_core.h"
|
#include "mlx5_core.h"
|
||||||
#include "lib/mpfs.h"
|
#include "lib/mpfs.h"
|
||||||
|
|
||||||
@ -98,7 +99,7 @@ int mlx5_mpfs_init(struct mlx5_core_dev *dev)
|
|||||||
int l2table_size = 1 << MLX5_CAP_GEN(dev, log_max_l2_table);
|
int l2table_size = 1 << MLX5_CAP_GEN(dev, log_max_l2_table);
|
||||||
struct mlx5_mpfs *mpfs;
|
struct mlx5_mpfs *mpfs;
|
||||||
|
|
||||||
if (!MLX5_VPORT_MANAGER(dev))
|
if (!MLX5_ESWITCH_MANAGER(dev))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
mpfs = kzalloc(sizeof(*mpfs), GFP_KERNEL);
|
mpfs = kzalloc(sizeof(*mpfs), GFP_KERNEL);
|
||||||
@ -122,7 +123,7 @@ void mlx5_mpfs_cleanup(struct mlx5_core_dev *dev)
|
|||||||
{
|
{
|
||||||
struct mlx5_mpfs *mpfs = dev->priv.mpfs;
|
struct mlx5_mpfs *mpfs = dev->priv.mpfs;
|
||||||
|
|
||||||
if (!MLX5_VPORT_MANAGER(dev))
|
if (!MLX5_ESWITCH_MANAGER(dev))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
WARN_ON(!hlist_empty(mpfs->hash));
|
WARN_ON(!hlist_empty(mpfs->hash));
|
||||||
@ -137,7 +138,7 @@ int mlx5_mpfs_add_mac(struct mlx5_core_dev *dev, u8 *mac)
|
|||||||
u32 index;
|
u32 index;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (!MLX5_VPORT_MANAGER(dev))
|
if (!MLX5_ESWITCH_MANAGER(dev))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
mutex_lock(&mpfs->lock);
|
mutex_lock(&mpfs->lock);
|
||||||
@ -179,7 +180,7 @@ int mlx5_mpfs_del_mac(struct mlx5_core_dev *dev, u8 *mac)
|
|||||||
int err = 0;
|
int err = 0;
|
||||||
u32 index;
|
u32 index;
|
||||||
|
|
||||||
if (!MLX5_VPORT_MANAGER(dev))
|
if (!MLX5_ESWITCH_MANAGER(dev))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
mutex_lock(&mpfs->lock);
|
mutex_lock(&mpfs->lock);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user