Re: [PATCH net] net: lan966x: Remove ptp traps in case the ptp is not enabled.

From: Horatiu Vultur
Date: Thu May 16 2024 - 02:49:22 EST


The 05/15/2024 01:21, Vladimir Oltean wrote:

Hi Vladimir,

>
> On Tue, May 14, 2024 at 09:35:00PM +0200, Horatiu Vultur wrote:
> > Lan966x is adding ptp traps to redirect the ptp frames to the CPU such
> > that the HW will not forward these frames anywhere. The issue is that in
> > case ptp is not enabled and the timestamping source is et to
> > HWTSTAMP_SOURCE_NETDEV then these traps would not be removed on the
> > error path.
> > Fix this by removing the traps in this case as they are not needed.
> >
> > Fixes: 54e1ed69c40a ("net: lan966x: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()")
> > Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
> > ---
> > drivers/net/ethernet/microchip/lan966x/lan966x_main.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > index 2635ef8958c80..318676e42bb62 100644
> > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > @@ -479,8 +479,10 @@ static int lan966x_port_hwtstamp_set(struct net_device *dev,
> > return err;
> >
> > if (cfg->source == HWTSTAMP_SOURCE_NETDEV) {
> > - if (!port->lan966x->ptp)
> > + if (!port->lan966x->ptp) {
> > + lan966x_ptp_del_traps(port);
> > return -EOPNOTSUPP;
> > + }
> >
> > err = lan966x_ptp_hwtstamp_set(port, cfg, extack);
> > if (err) {
> > --
> > 2.34.1
> >
>
> Alternatively, the -EOPNOTSUPP check could be moved before programming
> the traps in the first place.

Thanks for the review.
Actually I don't think this alternative will work. In case of PHY
timestamping, we would still like to add those rules regardless if
ptp is enabled on lan966x.

>
> Reviewed-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>

--
/Horatiu