Re: [PATCH net] net: ethernet: ave: Remove duplicate suspend/resume calls for phy
From: Heiner Kallweit
Date: Fri Oct 21 2022 - 16:55:23 EST
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@xxxxxxxxx>
> Fixes: 0ba78b4a4989 ("net: ethernet: ave: Add suspend/resume support")
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>
> ---
> 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);