Re: [PATCH net v2 1/3] net: stmmac: propagate platform mac_finish errors
From: Lorenzo Bianconi
Date: Fri Sep 18 2026 - 03:08:27 EST
> From: Thomas Karpiniec <tom@xxxxxxxx>
>
> stmmac_mac_finish() discards the platform callback's return value and
> always reports success to phylink. For example, the Qualcomm ETHQOS
> callback can return an error from phy_set_mode_ext() if SerDes
> configuration fails. Phylink then treats the interface as successfully
> configured and can report carrier even though the SerDes is not ready.
>
> Return the platform callback's result so that phylink can report the
> failure and keep the link down until a subsequent configuration succeeds.
> Keep returning zero when no platform callback is installed.
>
> Fixes: e654cfc718d4 ("net: stmmac: configure SerDes on mac_finish")
> Cc: stable@xxxxxxxxxxxxxxx
> Assisted-by: LLM sparse
> Signed-off-by: Thomas Karpiniec <tom@xxxxxxxx>
> Acked-by: Mohd Ayaan Anwar <mohd.anwar@xxxxxxxxxxxxxxxx>
> Reviewed-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Acked-by: Lorenzo Bianconi <lorenzo.bianconi@xxxxxxxxxxxxxxxx>
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 1fb5f804ea23..1350e92943ac 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -1048,8 +1048,8 @@ static int stmmac_mac_finish(struct phylink_config *config, unsigned int mode,
> struct stmmac_priv *priv = netdev_priv(ndev);
>
> if (priv->plat->mac_finish)
> - priv->plat->mac_finish(ndev, priv->plat->bsp_priv, mode,
> - interface);
> + return priv->plat->mac_finish(ndev, priv->plat->bsp_priv, mode,
> + interface);
>
> return 0;
> }
> --
> 2.54.0 (Apple Git-157)
>
>
Attachment:
signature.asc
Description: PGP signature