From: Yao Zi <me@ziyao.cc>
To: David Wang <00107082@163.com>, thostet@google.com
Cc: daniel.gabay@intel.com, jeffbai@aosc.io, johannes.berg@intel.com,
kexybiscuit@aosc.io, linux-kernel@vger.kernel.org,
linux-wireless@vger.kernel.org,
miriam.rachel.korenblit@intel.com, nathan@kernel.org,
netdev@vger.kernel.org, pagadala.yesu.anjaneyulu@intel.com,
richardcochran@gmail.com, Kuniyuki Iwashima <kuniyu@google.com>
Subject: Re: [PATCH iwlwifi-fixes] wifi: iwlwifi: Implement settime64 as stub for MVM/MLD PTP
Date: Mon, 15 Dec 2025 03:42:17 +0000 [thread overview]
Message-ID: <aT-DmZTh_8I13Mg1@pie> (raw)
In-Reply-To: <20251214101257.4190-1-00107082@163.com>
On Sun, Dec 14, 2025 at 06:12:57PM +0800, David Wang wrote:
> On Thu, Dec 04, 2025 at 12:32:04PM +0000, Yao Zi wrote:
> > Since commit dfb073d32cac ("ptp: Return -EINVAL on ptp_clock_register if
> > required ops are NULL"), PTP clock registered through ptp_clock_register
> > is required to have ptp_clock_info.settime64 set, however, neither MVM
> > nor MLD's PTP clock implementation sets it, resulting in warnings when
> > the interface starts up, like
> >
> > WARNING: drivers/ptp/ptp_clock.c:325 at ptp_clock_register+0x2c8/0x6b8, CPU#1: wpa_supplicant/469
> > CPU: 1 UID: 0 PID: 469 Comm: wpa_supplicant Not tainted 6.18.0+ #101 PREEMPT(full)
> > ra: ffff800002732cd4 iwl_mvm_ptp_init+0x114/0x188 [iwlmvm]
> > ERA: 9000000002fdc468 ptp_clock_register+0x2c8/0x6b8
> > iwlwifi 0000:01:00.0: Failed to register PHC clock (-22)
> >
> > I don't find an appropriate firmware interface to implement settime64()
> > for iwlwifi MLD/MVM, thus instead create a stub that returns
> > -EOPTNOTSUPP only, suppressing the warning and allowing the PTP clock to
> > be registered.
>
> This seems disturbing....If a null settime64 deserve a kernel WARN dump, so should
> a settime64 which returns error.
They're separate things. A ptp clock implementing not provinding
settime64() or gettime64()/gettimex64() callback will crash when
userspace tries to call clock_gettime()/clock_settime() on it, since
either ptp_clock_settime() or ptp_clock_gettime() invokes these
callbacks unconditionally.
However, failing with -ENOTSUPP/-EOPNOTSUPP when clock_settime() isn't
supported by a dynamic POSIX clock device is a documented behavior, see
man-page clock_getres(2).
> Before fixing the warning, the expected behavior of settime64 should be specified clearly,
I think failing with -EOPNOTSUPP (which is the same as -ENOTSUPP on
Linux) when the operation isn't supported is well-documented, and is
suitable for this case.
One may argue that it'd be helpful for ptp_clock_register() to provide
a default implementation of settime64() that always fails with
-EOPNOTSUPP when the driver doesn't provide one.
However, it's likely a programming bug when gettime64()/settime64() is
missing, so the current behavior of warning sounds reasonable to me.
> hence why the dfb073d32cac ("ptp: Return -EINVAL on ptp_clock_register if required ops are NULL")?
You may be interested in the original series[1] where the idea of
warning for missing settime64/gettime64/gettimex64 callbacks came up.
Also cc Kuniyuki, in case that I missed something or got it wrong.
>
> David
Best regards,
Yao Zi
> >
> > Reported-by: Nathan Chancellor <nathan@kernel.org>
> > Closes: https://lore.kernel.org/all/20251108044822.GA3262936@ax162/
> > Signed-off-by: Yao Zi <ziyao@disroot.org>
> > ---
>
[1]: https://lore.kernel.org/all/20251028095143.396385-1-junjie.cao@intel.com/
next prev parent reply other threads:[~2025-12-15 3:42 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-04 12:32 [PATCH iwlwifi-fixes] wifi: iwlwifi: Implement settime64 as stub for MVM/MLD PTP Yao Zi
2025-12-05 22:26 ` Nathan Chancellor
2025-12-06 15:01 ` Simon Horman
2025-12-07 17:58 ` Genes Lists
2025-12-08 11:23 ` Damian Tometzki
2025-12-13 8:41 ` Oliver Hartkopp
2025-12-13 21:19 ` Korenblit, Miriam Rachel
2025-12-14 10:12 ` David Wang
2025-12-15 3:42 ` Yao Zi [this message]
2025-12-15 4:20 ` David Wang
2025-12-15 17:41 ` Yao Zi
2025-12-22 10:43 ` Paolo Abeni
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=aT-DmZTh_8I13Mg1@pie \
--to=me@ziyao.cc \
--cc=00107082@163.com \
--cc=daniel.gabay@intel.com \
--cc=jeffbai@aosc.io \
--cc=johannes.berg@intel.com \
--cc=kexybiscuit@aosc.io \
--cc=kuniyu@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=miriam.rachel.korenblit@intel.com \
--cc=nathan@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pagadala.yesu.anjaneyulu@intel.com \
--cc=richardcochran@gmail.com \
--cc=thostet@google.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.