Commit ac3735bf authored by Gal Pressman's avatar Gal Pressman Committed by Greg Kroah-Hartman

net/mlx5e: Fix ethtool pause support and advertise reporting


[ Upstream commit e3c19503 ]

Pause bit should set when RX pause is on, not TX pause.
Also, setting Asym_Pause is incorrect, and should be turned off.

Fixes: 665bc539 ("net/mlx5e: Use new ethtool get/set link ksettings API")
Signed-off-by: default avatarGal Pressman <galp@mellanox.com>
Cc: kernel-team@fb.com
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1594973b
...@@ -751,7 +751,6 @@ static void get_supported(u32 eth_proto_cap, ...@@ -751,7 +751,6 @@ static void get_supported(u32 eth_proto_cap,
ptys2ethtool_supported_port(link_ksettings, eth_proto_cap); ptys2ethtool_supported_port(link_ksettings, eth_proto_cap);
ptys2ethtool_supported_link(supported, eth_proto_cap); ptys2ethtool_supported_link(supported, eth_proto_cap);
ethtool_link_ksettings_add_link_mode(link_ksettings, supported, Pause); ethtool_link_ksettings_add_link_mode(link_ksettings, supported, Pause);
ethtool_link_ksettings_add_link_mode(link_ksettings, supported, Asym_Pause);
} }
static void get_advertising(u32 eth_proto_cap, u8 tx_pause, static void get_advertising(u32 eth_proto_cap, u8 tx_pause,
...@@ -761,7 +760,7 @@ static void get_advertising(u32 eth_proto_cap, u8 tx_pause, ...@@ -761,7 +760,7 @@ static void get_advertising(u32 eth_proto_cap, u8 tx_pause,
unsigned long *advertising = link_ksettings->link_modes.advertising; unsigned long *advertising = link_ksettings->link_modes.advertising;
ptys2ethtool_adver_link(advertising, eth_proto_cap); ptys2ethtool_adver_link(advertising, eth_proto_cap);
if (tx_pause) if (rx_pause)
ethtool_link_ksettings_add_link_mode(link_ksettings, advertising, Pause); ethtool_link_ksettings_add_link_mode(link_ksettings, advertising, Pause);
if (tx_pause ^ rx_pause) if (tx_pause ^ rx_pause)
ethtool_link_ksettings_add_link_mode(link_ksettings, advertising, Asym_Pause); ethtool_link_ksettings_add_link_mode(link_ksettings, advertising, Asym_Pause);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment