[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2333ef88-6e3e-a5ad-dcdc-89a405ba2f9e@gmail.com>
Date: Fri, 21 Oct 2022 22:55:01 +0200
From: Heiner Kallweit <hkallweit1@...il.com>
To: Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>,
Andrew Lunn <andrew@...n.ch>,
Russell King <linux@...linux.org.uk>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net] net: ethernet: ave: Remove duplicate suspend/resume
calls for phy
On 21.10.2022 19:45, Kunihiko Hayashi wrote:
> Since AVE has its own suspend/resume functions, there is no need to call
> mdio_bus suspend/resume functions. Set phydev->mac_managed_pm to true
> to avoid the calls.
>
The commit description doesn't make clear (any longer) what the issue
is that you're fixing. You should mention the WARN_ON() dump here
like in your first attempt.
> In addition, ave_open() executes __phy_resume() via phy_start() in
> ave_resume(), so no need to call phy_resume() explicitly. Remove it.
>
This sounds like an improvement, being independent of the actual fix.
The preferred approach would be:
- submit the fix to net
- submit the improvement in a separate patch to net-next
> Suggested-by: Heiner Kallweit <hkallweit1@...il.com>
> Fixes: 0ba78b4a4989 ("net: ethernet: ave: Add suspend/resume support")
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>
> ---
> drivers/net/ethernet/socionext/sni_ave.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/ethernet/socionext/sni_ave.c b/drivers/net/ethernet/socionext/sni_ave.c
> index 14cdd2e8373c..b4e0c57af7c3 100644
> --- a/drivers/net/ethernet/socionext/sni_ave.c
> +++ b/drivers/net/ethernet/socionext/sni_ave.c
> @@ -1271,6 +1271,8 @@ static int ave_init(struct net_device *ndev)
>
> phy_support_asym_pause(phydev);
>
> + phydev->mac_managed_pm = true;
> +
> phy_attached_info(phydev);
>
> return 0;
> @@ -1806,12 +1808,6 @@ static int ave_resume(struct device *dev)
> wol.wolopts = priv->wolopts;
> __ave_ethtool_set_wol(ndev, &wol);
>
> - if (ndev->phydev) {
> - ret = phy_resume(ndev->phydev);
> - if (ret)
> - return ret;
> - }
> -
> if (netif_running(ndev)) {
> ret = ave_open(ndev);
> netif_device_attach(ndev);
Powered by blists - more mailing lists