From: Nicolai Buchwitz <nb@tipi-net.de>
To: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>, Andrew Lunn <andrew@lunn.ch>,
Kory Maincent <kory.maincent@bootlin.com>,
vadim.fedorenko@linux.dev
Cc: James Clark <jjc@jclark.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net] net: ethtool: let tsconfig reach a PHY-only timestamp provider
Date: Tue, 22 Sep 2026 10:05:30 +0200 [thread overview]
Message-ID: <5af6a329b41d6d40d1488ab4ceffef02@tipi-net.de> (raw)
In-Reply-To: <20260922070813.1458713-1-nb@tipi-net.de>
+TO vadim.fedorenko@linux.dev
(get_maintainers seems to missed Vadim, sorry)
On 22.9.2026 09:08, Nicolai Buchwitz wrote:
> TSCONFIG_GET and TSCONFIG_SET reject a device that implements neither
> hwtstamp NDO, even when its PHY can serve the request. The ioctls they
> meant to replace handle it, so the two interfaces disagree on the same
> hardware and user space has to pick one.
>
> Drop both checks and let the phylib helpers decide, like the ioctls do.
>
> As this makes a netdev provider reachable without ndo_hwtstamp_get,
> test
> for the callback before calling it.
>
> Fixes: 6e9e2eed4f39 ("net: ethtool: Add support for tsconfig command to
> get/set hwtstamp config")
> Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
> ---
> Follow-up to 31995571219c ("net: don't require the hwtstamp NDOs when a
> PHY provides timestamping"), which fixed the ioctl side:
>
> https://lore.kernel.org/netdev/20260918095540.34286-1-nb@tipi-net.de/
>
> Tested on a Raspberry Pi CM4 with BCM54213PE.
>
> net/core/dev_ioctl.c | 3 ++-
> net/ethtool/tsconfig.c | 15 ---------------
> 2 files changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/net/core/dev_ioctl.c b/net/core/dev_ioctl.c
> index 164643140a52..f6029f60c1dc 100644
> --- a/net/core/dev_ioctl.c
> +++ b/net/core/dev_ioctl.c
> @@ -267,7 +267,8 @@ int dev_get_hwtstamp_phylib(struct net_device *dev,
> hwprov->phydev)
> return phy_hwtstamp_get(hwprov->phydev, cfg);
>
> - if (hwprov->source == HWTSTAMP_SOURCE_NETDEV)
> + if (hwprov->source == HWTSTAMP_SOURCE_NETDEV &&
> + dev->netdev_ops->ndo_hwtstamp_get)
> return dev->netdev_ops->ndo_hwtstamp_get(dev, cfg);
>
> return -EOPNOTSUPP;
> diff --git a/net/ethtool/tsconfig.c b/net/ethtool/tsconfig.c
> index 6be3aa5d4bc1..8c99b2dc26d0 100644
> --- a/net/ethtool/tsconfig.c
> +++ b/net/ethtool/tsconfig.c
> @@ -42,9 +42,6 @@ static int tsconfig_prepare_data(const struct
> ethnl_req_info *req_base,
> struct kernel_hwtstamp_config cfg = {};
> int ret;
>
> - if (!dev->netdev_ops->ndo_hwtstamp_get)
> - return -EOPNOTSUPP;
> -
> ret = ethnl_ops_begin(dev);
> if (ret < 0)
> return ret;
> @@ -248,17 +245,6 @@ static int tsconfig_send_reply(struct net_device
> *dev, struct genl_info *info)
> return ret;
> }
>
> -static int ethnl_set_tsconfig_validate(struct ethnl_req_info
> *req_base,
> - struct genl_info *info)
> -{
> - const struct net_device_ops *ops = req_base->dev->netdev_ops;
> -
> - if (!ops->ndo_hwtstamp_set || !ops->ndo_hwtstamp_get)
> - return -EOPNOTSUPP;
> -
> - return 1;
> -}
> -
> static struct hwtstamp_provider *
> tsconfig_set_hwprov_from_desc(struct net_device *dev,
> struct genl_info *info,
> @@ -459,6 +445,5 @@ const struct ethnl_request_ops
> ethnl_tsconfig_request_ops = {
> .reply_size = tsconfig_reply_size,
> .fill_reply = tsconfig_fill_reply,
>
> - .set_validate = ethnl_set_tsconfig_validate,
> .set = ethnl_set_tsconfig,
> };
>
> base-commit: f0b88fade64c6fe52e15b246097d10bb115d8af3
Regards Nicolai
next prev parent reply other threads:[~2026-09-22 8:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 7:08 Nicolai Buchwitz
2026-09-22 8:05 ` Nicolai Buchwitz [this message]
2026-09-23 7:58 ` Kory Maincent
2026-09-23 10:10 ` netdev-bot+sashiko
2026-09-23 10:24 ` Nicolai Buchwitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5af6a329b41d6d40d1488ab4ceffef02@tipi-net.de \
--to=nb@tipi-net.de \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jjc@jclark.com \
--cc=kory.maincent@bootlin.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=vadim.fedorenko@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®