** Changed in: ubuntu-z-systems Status: In Progress => Fix Committed
-- 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 <sig...@de.ibm.com> - 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/20220805184504.7f6f2...@kernel.org/T/#m2e3799a38d1d4630822db50f9a5d9b2ca018252f applicable for most kernel > 3.14 == Comment: #3 - J?rn Siglen <sig...@de.ibm.com> - 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 <sig...@de.ibm.com> - 2022-08-09 08:03:09 == the acceptance info of the patch can be found here: https://lore.kernel.org/all/20220805184504.7f6f2...@kernel.org/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 : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp