Comment 0 for bug 1984103

Revision history for this message
bugproxy (bugproxy) wrote :

== Comment: #0 - J?rn Siglen <email address hidden> - 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://<email address hidden>/T/#m2e3799a38d1d4630822db50f9a5d9b2ca018252f

applicable for most kernel > 3.14

== Comment: #3 - J?rn Siglen <email address hidden> - 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 address hidden> - 2022-08-09 08:03:09 ==
the acceptance info of the patch can be found here:
https://<email address hidden>/T/#m2e3799a38d1d4630822db50f9a5d9b2ca018252f