[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <889918c4-51ae-4216-9374-510e4cbdc3f1@intel.com>
Date: Wed, 19 Feb 2025 15:29:52 -0800
From: Jacob Keller <jacob.e.keller@...el.com>
To: Nick Hu <nick.hu@...ive.com>, Radhey Shyam Pandey
<radhey.shyam.pandey@....com>, Andrew Lunn <andrew+netdev@...n.ch>, "David S.
Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, "Jakub
Kicinski" <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Michal Simek
<michal.simek@....com>, Russell King <linux@...linux.org.uk>, "Francesco
Dolcini" <francesco.dolcini@...adex.com>, Praneeth Bajjuri <praneeth@...com>
CC: Andrew Lunn <andrew@...n.ch>, <netdev@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] net: axienet: Set mac_managed_pm
On 2/16/2025 9:58 PM, Nick Hu wrote:
Nit: subject should include the "net" prefix since this is clearly a bug
fix.
> The external PHY will undergo a soft reset twice during the resume process
> when it wake up from suspend. The first reset occurs when the axienet
> driver calls phylink_of_phy_connect(), and the second occurs when
> mdio_bus_phy_resume() invokes phy_init_hw(). The second soft reset of the
> external PHY does not reinitialize the internal PHY, which causes issues
> with the internal PHY, resulting in the PHY link being down. To prevent
> this, setting the mac_managed_pm flag skips the mdio_bus_phy_resume()
> function.
>
> Fixes: a129b41fe0a8 ("Revert "net: phy: dp83867: perform soft reset and retain established link"")
> Signed-off-by: Nick Hu <nick.hu@...ive.com>
> ---
Otherwise, the fix seems correct to me.
Reviewed-by: Jacob Keller <jacob.e.keller@...el.com>
> drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> index 2ffaad0b0477..2deeb982bf6b 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> @@ -3078,6 +3078,7 @@ static int axienet_probe(struct platform_device *pdev)
>
> lp->phylink_config.dev = &ndev->dev;
> lp->phylink_config.type = PHYLINK_NETDEV;
> + lp->phylink_config.mac_managed_pm = true;
> lp->phylink_config.mac_capabilities = MAC_SYM_PAUSE | MAC_ASYM_PAUSE |
> MAC_10FD | MAC_100FD | MAC_1000FD;
>
Powered by blists - more mailing lists