summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorFeras Daoud2017-06-04 16:45:02 +0200
committerSaeed Mahameed2017-06-19 17:40:20 +0200
commitc66f2091c9248ddf42504c74cd327ae8619b04a4 (patch)
treeec2263d4b7da460a54d4e01309598373442d4ed5 /drivers
parentnet/mlx5e: IPoIB, Move to a separate directory (diff)
downloadkernel-qcow2-linux-c66f2091c9248ddf42504c74cd327ae8619b04a4.tar.gz
kernel-qcow2-linux-c66f2091c9248ddf42504c74cd327ae8619b04a4.tar.xz
kernel-qcow2-linux-c66f2091c9248ddf42504c74cd327ae8619b04a4.zip
net/mlx5e: Prevent PFC call for non ethernet ports
Port flow control supported only for ethernet ports, therefore, prevent any call if the port type differs from MLX5_CAP_PORT_TYPE_ETH. Signed-off-by: Feras Daoud <ferasda@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
index 216752070391..7408c298ce2f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
@@ -135,6 +135,9 @@ static unsigned long mlx5e_query_pfc_combined(struct mlx5e_priv *priv)
u8 pfc_en_rx;
int err;
+ if (MLX5_CAP_GEN(mdev, port_type) != MLX5_CAP_PORT_TYPE_ETH)
+ return 0;
+
err = mlx5_query_port_pfc(mdev, &pfc_en_tx, &pfc_en_rx);
return err ? 0 : pfc_en_tx | pfc_en_rx;
@@ -147,6 +150,9 @@ static bool mlx5e_query_global_pause_combined(struct mlx5e_priv *priv)
u32 tx_pause;
int err;
+ if (MLX5_CAP_GEN(mdev, port_type) != MLX5_CAP_PORT_TYPE_ETH)
+ return false;
+
err = mlx5_query_port_pause(mdev, &rx_pause, &tx_pause);
return err ? false : rx_pause | tx_pause;