linux/drivers/s390/net
Alexandra Winter 7a07a29e4f s390/qeth: cache link_info for ethtool
Since
commit e6e771b3d8 ("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.

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: e6e771b3d8 ("s390/qeth: detach netdevice while card is offline")
Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Reviewed-by: Thorsten Winkler <twinkler@linux.ibm.com>
Link: https://lore.kernel.org/r/20220805155714.59609-1-wintera@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-08-08 20:57:56 -07:00
..
ctcm_dbug.c
ctcm_dbug.h s390/ctcm: add __printf format attribute to ctcm_dbf_longtext 2021-11-19 11:12:30 +00:00
ctcm_fsms.c s390/ctcm: fix typo "length to short" -> "length too short" 2022-03-21 13:26:38 +00:00
ctcm_fsms.h s390/ctcm: remove orphaned function declarations 2020-10-02 16:22:49 -07:00
ctcm_main.c s390: net: Use netif_rx(). 2022-03-07 11:40:40 +00:00
ctcm_main.h s390/ctcm: Use GFP_ATOMIC in ctcmpc_tx(). 2020-12-01 16:56:02 -08:00
ctcm_mpc.c s390/ctcm: fix potential memory leak 2022-05-11 12:31:01 +01:00
ctcm_mpc.h s390/ctcm: remove orphaned function declarations 2020-10-02 16:22:49 -07:00
ctcm_sysfs.c s390/ctcm: fix variable dereferenced before check 2022-05-11 12:31:01 +01:00
fsm.c s390/netiucv: remove incorrect kernel doc indicators 2021-09-14 12:46:29 +01:00
fsm.h
ism_drv.c net/smc: Pass on DMBE bit mask in IRQ handler 2022-07-27 13:24:42 +01:00
ism.h net/smc: introduce System Enterprise ID (SEID) 2020-09-28 15:19:02 -07:00
Kconfig s390/qeth: Switchdev event handler 2021-08-07 09:44:02 +01:00
lcs.c s390/lcs: fix variable dereferenced before check 2022-05-11 12:31:01 +01:00
lcs.h
Makefile
netiucv.c s390: net: Use netif_rx(). 2022-03-07 11:40:40 +00:00
qeth_core_main.c s390/qeth: cache link_info for ethtool 2022-08-08 20:57:56 -07:00
qeth_core_mpc.c s390/qeth: remove OSN support 2021-07-20 06:17:06 -07:00
qeth_core_mpc.h s390/qeth: clean up QETH_PROT_* naming 2021-07-20 06:17:06 -07:00
qeth_core_sys.c s390/qeth: remove OSN support 2021-07-20 06:17:06 -07:00
qeth_core.h qeth: remove a copy of the NAPI_POLL_WEIGHT define 2022-04-29 11:56:42 +01:00
qeth_ethtool.c s390/qeth: cache link_info for ethtool 2022-08-08 20:57:56 -07:00
qeth_l2_main.c net: make drivers set the TSO limit not the GSO limit 2022-05-06 12:07:56 +01:00
qeth_l2_sys.c s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
qeth_l2.h s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
qeth_l3_main.c net: make drivers set the TSO limit not the GSO limit 2022-05-06 12:07:56 +01:00
qeth_l3_sys.c s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
qeth_l3.h s390/qeth: use dev->groups for common sysfs attributes 2020-12-07 06:55:21 -08:00
smsgiucv_app.c
smsgiucv.c s390/net: remove pm support from iucv drivers 2020-05-19 12:48:39 -07:00
smsgiucv.h