> Hi, Hi Maxime, thx for the review. > > On 9/2/26 22:15, Lorenzo Bianconi wrote: > > stmmac_setup_ptp() returns void and swallows both PTP setup errors: > > the PTP reference clock enable and stmmac_init_timestamping() > > failures are logged but never propagated. When they fail, the MAC > > system time counter is left in its post-reset, non-running state, > > while the driver keeps operating as if timestamping were up. > > This matters for the upcoming taprio offload re-apply, which derives > > the EST base time from the hardware timestamp counter: arming the > > gate list against a non-advancing time base would leave the schedule > > permanently stuck. Make stmmac_setup_ptp() return an error code. > > > > Fixes: 92ba6888510c ("stmmac: add the support for PTP hw clock driver") > > Fixes: 0ad2be79f254 ("net: stmmac: Balance PTP reference clock enable/disable") > > Signed-off-by: Lorenzo Bianconi > > nice fix, this isn't the first time we have issues because ptp init silently > failed :( > > > --- > > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 46 ++++++++++++++++------- > > 1 file changed, 33 insertions(+), 13 deletions(-) > > > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > > index d576059c04df..47295845371a 100644 > > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > > @@ -937,18 +937,27 @@ static int stmmac_init_timestamping(struct stmmac_priv *priv) > > return 0; > > } > > > > -static void stmmac_setup_ptp(struct stmmac_priv *priv) > > +static int stmmac_setup_ptp(struct stmmac_priv *priv) > > { > > int ret; > > > > ret = clk_prepare_enable(priv->plat->clk_ptp_ref); > > - if (ret < 0) > > + if (ret < 0) { > > netdev_warn(priv->dev, > > "failed to enable PTP reference clock: %pe\n", > > ERR_PTR(ret)); > > + return ret; > > + } > > + > > + ret = stmmac_init_timestamping(priv); > > + if (ret) { > > + clk_disable_unprepare(priv->plat->clk_ptp_ref); > > + return ret; > > + } > > This can legitimately fail with -EOPNOTSUPP, we musn't failt the whole open > sequence in this case. ops, right. I guess we should just skip -EOPNOTSUPP in this case, or do you prefer to always not report the error from stmmac_init_timestamping()? Regards, Lorenzo > > Maxime >