Verification done on jammy (on a slightly different setup):
root@s1lp15:~# uname -a
Linux s1lp15 5.15.0-27-generic #28-Ubuntu SMP Thu Apr 14 04:55:23 UTC 2022
s390x s390x s390x GNU/Linux
root@s1lp15:~# ethtool encc000 | grep Duplex
Duplex: Full
root@s1lp15:~# grep qcrdinfo /sys/kernel/debug/s390dbf/qeth*/hex_ascii | wc -l
3
root@s1lp15:~# grep qcrdinfo /sys/kernel/debug/s390dbf/qeth*/hex_ascii
/sys/kernel/debug/s390dbf/qeth_card_0.0.c000/hex_ascii:00 01664021373:134002 2
- 0001 000003ff81066676 71 63 72 64 69 6e 66 6f | qcrdinfo
/sys/kernel/debug/s390dbf/qeth_card_0.0.c000/hex_ascii:00 01664021384:308308 2
- 0007 000003ff81066676 71 63 72 64 69 6e 66 6f | qcrdinfo
/sys/kernel/debug/s390dbf/qeth_card_0.0.c000/hex_ascii:00 01664021384:308804 2
- 0007 000003ff81066676 71 63 72 64 69 6e 66 6f | qcrdinfo
root@s1lp15:~# ethtool encc000
Settings for encc000:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseSR/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10000baseSR/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: on
Port: FIBRE
PHYAD: 0
Transceiver: internal
Link detected: yes
(adjusting tags accordingly)
** Tags added: verification-done verification-done-jammy
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1984103
Title:
[UBUNTU 22.04] s390/qeth: cache link_info for ethtool
Status in Ubuntu on IBM z Systems:
Fix Committed
Status in linux package in Ubuntu:
Fix Committed
Status in linux source package in Jammy:
Fix Committed
Status in linux source package in Kinetic:
Fix Committed
Bug description:
== SRU Justification ==
Since commit e6e771b3d897 ("s390/qeth: detach netdevice while card is
offline") there was a timing window during recovery, that qeth_query_card_info
could be sent to the card, even before it was ready for it, leading to a
failing card recovery. There is evidence that this window was hit, as not
all callers of get_link_ksettings() check for netif_device_present.
This patch (Mainline commit 7a07a29e4f67) fixes the regression caused
by commit e6e771b3d897.
Commit 7a07a29e4f67 is in mainline as of v6.0-rc1.
This patch is being requested in Jammy 5.15 and Kinetic 5.19.
== Fix ==
7a07a29e4f67 ("s390/qeth: cache link_info for ethtool")
== Regression Potential ==
Low. This patch has been accepted in upstream stable and is limited to
the s390/qeth card.
== Test Case ==
A test kernel was built with this patch and tested by the original bug
reporter.
The bug reporter states the test kernel resolved the bug.
== Comment: #0 - J?rn Siglen <[email protected]> - 2022-08-09 07:38:27 ==
+++ This bug was initially created as a clone of Bug #199319 +++
Description: s390/qeth: cache link_info for ethtool
Symptom: lost of IP connection and log entries in journalctl:
kernel: qeth 0.0.0365: The qeth device driver failed to
recover an error on the device
Problem: Since commit e6e771b3d897
("s390/qeth: detach netdevice while card is offline")
there was a timing window during recovery, that
qeth_query_card_info could be sent to the card, even before it
was ready for it, leading to a failing card recovery. There is
evidence that this window was hit, as not all callers of
get_link_ksettings() check for netif_device_present.
Solution: Use cached values in qeth_get_link_ksettings(), instead of
calling qeth_query_card_info() and falling back to default
values in case it fails. Link info is already updated when the
card goes online, e.g. after STARTLAN (physical link up). Set
the link info to default values, when the card goes offline or
at STOPLAN (physical link down). A follow-on patch will improve
values reported for link down.
Fixes: e6e771b3d897
("s390/qeth: detach netdevice while card is offline")
Reproduction: enforce a eth device recvoery, while running ethtool multiple
times in parallel and using iperf to get load on the interface.
Upstream-ID: 7a07a29e4f6713b224f3bcde5f835e777301bdb8
https://lore.kernel.org/all/[email protected]/T/#m2e3799a38d1d4630822db50f9a5d9b2ca018252f
applicable for most kernel > 3.14
== Comment: #3 - J?rn Siglen <[email protected]> - 2022-08-09 07:54:41 ==
the inital update came in with kernel 5.1 upstream, but we found it
backported in many older kernel versions
== Comment: #4 - J?rn Siglen <[email protected]> - 2022-08-09 08:03:09 ==
the acceptance info of the patch can be found here:
https://lore.kernel.org/all/[email protected]/T/#m2e3799a38d1d4630822db50f9a5d9b2ca018252f
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1984103/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp