| From foo@baz Wed May 31 09:13:34 JST 2017 |
| From: Gal Pressman <galp@mellanox.com> |
| Date: Wed, 19 Apr 2017 14:35:15 +0300 |
| Subject: net/mlx5e: Fix ethtool pause support and advertise reporting |
| |
| From: Gal Pressman <galp@mellanox.com> |
| |
| |
| [ Upstream commit e3c19503712d6360239b19c14cded56dd63c40d7 ] |
| |
| Pause bit should set when RX pause is on, not TX pause. |
| Also, setting Asym_Pause is incorrect, and should be turned off. |
| |
| Fixes: 665bc53969d7 ("net/mlx5e: Use new ethtool get/set link ksettings API") |
| Signed-off-by: Gal Pressman <galp@mellanox.com> |
| Cc: kernel-team@fb.com |
| Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c |
| +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c |
| @@ -751,7 +751,6 @@ static void get_supported(u32 eth_proto_ |
| ptys2ethtool_supported_port(link_ksettings, 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, Asym_Pause); |
| } |
| |
| static void get_advertising(u32 eth_proto_cap, u8 tx_pause, |
| @@ -761,7 +760,7 @@ static void get_advertising(u32 eth_prot |
| unsigned long *advertising = link_ksettings->link_modes.advertising; |
| |
| ptys2ethtool_adver_link(advertising, eth_proto_cap); |
| - if (tx_pause) |
| + if (rx_pause) |
| ethtool_link_ksettings_add_link_mode(link_ksettings, advertising, Pause); |
| if (tx_pause ^ rx_pause) |
| ethtool_link_ksettings_add_link_mode(link_ksettings, advertising, Asym_Pause); |