Commit eda40be3 authored by Horatiu Vultur's avatar Horatiu Vultur Committed by Paolo Abeni

net: lan966x: Remove ptp traps in case the ptp is not enabled.

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: 54e1ed69 ("net: lan966x: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set()")
Suggested-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
Link: https://lore.kernel.org/r/20240517135808.3025435-1-horatiu.vultur@microchip.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 30a92c9e
...@@ -474,14 +474,14 @@ static int lan966x_port_hwtstamp_set(struct net_device *dev, ...@@ -474,14 +474,14 @@ static int lan966x_port_hwtstamp_set(struct net_device *dev,
cfg->source != HWTSTAMP_SOURCE_PHYLIB) cfg->source != HWTSTAMP_SOURCE_PHYLIB)
return -EOPNOTSUPP; return -EOPNOTSUPP;
if (cfg->source == HWTSTAMP_SOURCE_NETDEV && !port->lan966x->ptp)
return -EOPNOTSUPP;
err = lan966x_ptp_setup_traps(port, cfg); err = lan966x_ptp_setup_traps(port, cfg);
if (err) if (err)
return err; return err;
if (cfg->source == HWTSTAMP_SOURCE_NETDEV) { if (cfg->source == HWTSTAMP_SOURCE_NETDEV) {
if (!port->lan966x->ptp)
return -EOPNOTSUPP;
err = lan966x_ptp_hwtstamp_set(port, cfg, extack); err = lan966x_ptp_hwtstamp_set(port, cfg, extack);
if (err) { if (err) {
lan966x_ptp_del_traps(port); lan966x_ptp_del_traps(port);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment