[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b581025f-4bd8-7c85-a3eb-e557046d1da2@gmail.com>
Date: Thu, 15 Apr 2021 21:47:47 +0200
From: Heiner Kallweit <hkallweit1@...il.com>
To: Jakub Kicinski <kuba@...nel.org>,
David Miller <davem@...emloft.net>,
Realtek linux nic maintainers <nic_swsd@...ltek.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] r8169: keep pause settings on interface down/up
cycle
On 15.04.2021 20:59, Heiner Kallweit wrote:
> Currently, if the user changes the pause settings, the default settings
> will be restored after an interface down/up cycle, and also when
> resuming from suspend. This doesn't seem to provide the best user
> experience. Change this to keep user settings, and just ensure that in
> jumbo mode pause is disabled.
> Small drawback: When switching back mtu from jumbo to non-jumbo then
> pause remains disabled (but user can enable it using ethtool).
> I think that's a not too common scenario and acceptable.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@...il.com>
> ---
> drivers/net/ethernet/realtek/r8169_main.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 7d02bab1c..2c89cde7d 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -2388,11 +2388,13 @@ static void rtl_jumbo_config(struct rtl8169_private *tp)
> pcie_set_readrq(tp->pci_dev, readrq);
>
> /* Chip doesn't support pause in jumbo mode */
> - linkmode_mod_bit(ETHTOOL_LINK_MODE_Pause_BIT,
> - tp->phydev->advertising, !jumbo);
> - linkmode_mod_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT,
> - tp->phydev->advertising, !jumbo);
> - phy_start_aneg(tp->phydev);
> + if (jumbo) {
> + linkmode_clear_bit(ETHTOOL_LINK_MODE_Pause_BIT,
> + tp->phydev->advertising);
> + linkmode_clear_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT,
> + tp->phydev->advertising);
> + phy_start_aneg(tp->phydev);
> + }
> }
>
> DECLARE_RTL_COND(rtl_chipcmd_cond)
> @@ -5107,6 +5109,8 @@ static int r8169_mdio_register(struct rtl8169_private *tp)
>
> tp->phydev->mac_managed_pm = 1;
>
> + phy_support_asym_pause(tp->phydev);
> +
> /* PHY will be woken up in rtl_open() */
> phy_suspend(tp->phydev);
>
>
Just see, this patch will apply only once net is merged into net-next.
Powered by blists - more mailing lists