mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net 0/2] selftests: drv-net: ring_reconfig: handle devices without channel config
@ 2026-11-06 15:05 Bilal Yazıcıoğlu
  2026-11-06 15:05 ` [PATCH net 1/2] " Bilal Yazıcıoğlu
  2026-11-06 15:05 ` [PATCH net 2/2] selftests: drv-net: ring_reconfig: skip tx stall test " Bilal Yazıcıoğlu
  0 siblings, 2 replies; 3+ messages in thread
From: Bilal Yazıcıoğlu @ 2026-11-06 15:05 UTC (permalink / raw)
  To: netdev
  Cc: andrew+netdev, davem, edumazet, kuba, pabeni, shuah, hmohsin,
	linux-kselftest, linux-kernel, Bilal Yazıcıoğlu

ring_reconfig.py assumes that a device which supports ring parameters
also supports the ethtool channel query. Drivers without a
get_channels op, such as e1000e, return -EOPNOTSUPP for it, and the
resulting NlError makes all three tests fail.

On a ThinkPad T480 with an I219-V (e1000e) "ethtool -g" works while
"ethtool -l" returns "Operation not supported", and running the test
functions through the in-tree YNL library against the device shows
the three failures.

Patch 1 skips channels() and lets ringparam() continue without the
optional channel reduction, patch 2 skips reconfig_tx_stall(). Only
EOPNOTSUPP is handled; any other error still fails. The patches are
split because the affected code came from two different commits.

Testing: there is no remote endpoint for the T480, so the full test
was not run. The test functions were run against the real device
under ksft_run with a stub environment and all ethtool set requests
blocked: before the series all three fail, after it two are skipped
and the channel helper returns after the query. They were also run
against an emulated ethtool family (unsupported channels, other
errors, devices with combined or separate rx/tx channels, failing
channel set and restore) to check that other errors still fail and
that behaviour with channel support is unchanged. pylint and ruff
report nothing new. Not tested: the full test with NETIF and a remote
endpoint, and the rest of ringparam() on e1000e (see the note in
patch 1 about ring size clamping).

I found this while looking for kernel tests I could validate on my
ThinkPad T480. I investigated and validated the issue on that
hardware, defined the scope of the fix, reviewed and refined the
implementation, and extended the regression tests used to validate
it.

This work was AI-assisted: OpenAI Codex helped with the initial
source analysis, and Claude Code drafted the implementation,
changelogs and test tooling. I take responsibility for the submitted
changes.

Bilal Yazıcıoğlu (2):
  selftests: drv-net: ring_reconfig: handle devices without channel
    config
  selftests: drv-net: ring_reconfig: skip tx stall test without channel
    config

 .../selftests/drivers/net/ring_reconfig.py    | 24 ++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)


base-commit: 19a227903e65c7a9c179156485660a4e017575fe
-- 
2.56.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-11-06 15:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-06 15:05 [PATCH net 0/2] selftests: drv-net: ring_reconfig: handle devices without channel config Bilal Yazıcıoğlu
2026-11-06 15:05 ` [PATCH net 1/2] " Bilal Yazıcıoğlu
2026-11-06 15:05 ` [PATCH net 2/2] selftests: drv-net: ring_reconfig: skip tx stall test " Bilal Yazıcıoğlu

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®