[PATCH] net: axienet: Set mac_managed_pm
Jacob Keller
jacob.e.keller at intel.com
Wed Feb 19 15:29:52 PST 2025
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 at sifive.com>
> ---
Otherwise, the fix seems correct to me.
Reviewed-by: Jacob Keller <jacob.e.keller at intel.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;
>
More information about the linux-arm-kernel
mailing list