[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251128105047.5e54f463@kmaincent-XPS-13-7390>
Date: Fri, 28 Nov 2025 10:50:47 +0100
From: Kory Maincent <kory.maincent@...tlin.com>
To: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
Cc: Andrew Lunn <andrew+netdev@...n.ch>, Russell King
<linux@...linux.org.uk>, Heiner Kallweit <hkallweit1@...il.com>, "David S.
Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub
Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Richard
Cochran <richardcochran@...il.com>, Andrew Lunn <andrew@...n.ch>, Simon
Horman <horms@...nel.org>, Vladimir Oltean <vladimir.oltean@....com>, Jacob
Keller <jacob.e.keller@...el.com>, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 3/4] net: phy: microchip_rds_ptp: improve HW ts
config logic
On Thu, 27 Nov 2025 21:12:44 +0000
Vadim Fedorenko <vadim.fedorenko@...ux.dev> wrote:
> The driver stores new HW timestamping configuration values
> unconditionally and may create inconsistency with what is actually
> configured in case of error. Improve the logic to store new values only
> once everything is configured.
>
> Signed-off-by: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
> ---
> drivers/net/phy/microchip_rds_ptp.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/phy/microchip_rds_ptp.c
> b/drivers/net/phy/microchip_rds_ptp.c index 4c6326b0ceaf..6b0933ef9142 100644
> --- a/drivers/net/phy/microchip_rds_ptp.c
> +++ b/drivers/net/phy/microchip_rds_ptp.c
> @@ -488,9 +488,6 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, unsigned long flags;
> int rc;
>
> - clock->hwts_tx_type = config->tx_type;
> - clock->rx_filter = config->rx_filter;
> -
> switch (config->rx_filter) {
> case HWTSTAMP_FILTER_NONE:
> clock->layer = 0;
> @@ -553,7 +550,7 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, if (rc < 0)
> return rc;
>
> - if (clock->hwts_tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
> + if (config->tx_type == HWTSTAMP_TX_ONESTEP_SYNC)
> /* Enable / disable of the TX timestamp in the SYNC frames */
> rc = mchp_rds_phy_modify_mmd(clock, MCHP_RDS_PTP_TX_MOD,
> MCHP_RDS_PTP_PORT,
> @@ -587,8 +584,13 @@ static int mchp_rds_ptp_hwtstamp_set(struct
> mii_timestamper *mii_ts, /* Now enable the timestamping interrupts */
> rc = mchp_rds_ptp_config_intr(clock,
> config->rx_filter !=
> HWTSTAMP_FILTER_NONE);
> + if (rc < 0)
> + return rc;
>
> - return rc < 0 ? rc : 0;
> + clock->hwts_tx_type = config->tx_type;
> + clock->rx_filter = config->rx_filter;
Same here, there is no check over HWTSTAMP_TX_ONESTEP_P2P. You should add
capabilities check.
Regards,
> + return 0;
> }
>
> static int mchp_rds_ptp_ts_info(struct mii_timestamper *mii_ts,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
Powered by blists - more mailing lists