linux-stable/drivers/s390/net
Alexandra Winter ad6bfede19 s390/qeth: handle deferred cc1
[ Upstream commit afb373ff3f ]

The IO subsystem expects a driver to retry a ccw_device_start, when the
subsequent interrupt response block (irb) contains a deferred
condition code 1.

Symptoms before this commit:
On the read channel we always trigger the next read anyhow, so no
different behaviour here.
On the write channel we may experience timeout errors, because the
expected reply will never be received without the retry.
Other callers of qeth_send_control_data() may wrongly assume that the ccw
was successful, which may cause problems later.

Note that since
commit 2297791c92 ("s390/cio: dont unregister subchannel from child-drivers")
and
commit 5ef1dc40ff ("s390/cio: fix invalid -EBUSY on ccw_device_start")
deferred CC1s are much more likely to occur. See the commit message of the
latter for more background information.

Fixes: 2297791c92 ("s390/cio: dont unregister subchannel from child-drivers")
Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Co-developed-by: Thorsten Winkler <twinkler@linux.ibm.com>
Signed-off-by: Thorsten Winkler <twinkler@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Link: https://lore.kernel.org/r/20240321115337.3564694-1-wintera@linux.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-10 16:37:56 +02:00
..
ctcm_dbug.c s390/ctcm: Convert sprintf/snprintf to scnprintf 2023-06-23 11:55:55 +02:00
ctcm_dbug.h
ctcm_fsms.c s390/ctcm: cleanup indenting 2023-02-10 19:49:53 -08:00
ctcm_fsms.h
ctcm_main.c s390/ctcm: replace deprecated strncpy with strscpy 2023-10-24 17:46:16 -07:00
ctcm_main.h s390/ctcm: Convert sprintf/snprintf to scnprintf 2023-06-23 11:55:55 +02:00
ctcm_mpc.c s390 updates for 6.5 merge window part 2 2023-07-06 13:18:30 -07:00
ctcm_mpc.h
ctcm_sysfs.c s390/ctcm: Convert sprintf/snprintf to scnprintf 2023-06-23 11:55:55 +02:00
fsm.c s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
fsm.h
ism.h net/smc: manage system EID in SMC stack instead of ISM driver 2023-12-26 20:24:33 +00:00
ism_drv.c net/smc: manage system EID in SMC stack instead of ISM driver 2023-12-26 20:24:33 +00:00
Kconfig s390/ism: ism driver implies smc protocol 2023-11-17 00:31:00 +00:00
lcs.c s390/lcs: Remove FDDI option 2023-07-25 20:06:56 -07:00
lcs.h s390/lcs: Convert sprintf to scnprintf 2023-06-23 11:55:54 +02:00
Makefile
netiucv.c s390: include linux/io.h instead of asm/io.h 2023-07-03 11:19:40 +02:00
qeth_core.h s390/qeth: Don't call dev_close/dev_open (DOWN/UP) 2023-08-02 10:12:51 +01:00
qeth_core_main.c s390/qeth: handle deferred cc1 2024-04-10 16:37:56 +02:00
qeth_core_mpc.c
qeth_core_mpc.h
qeth_core_sys.c s390/qeth: Convert sysfs sprintf to sysfs_emit 2023-02-10 19:49:53 -08:00
qeth_ethtool.c s390/qeth: Convert sprintf/snprintf to scnprintf 2023-02-10 19:49:53 -08:00
qeth_l2.h
qeth_l2_main.c s390/qeth: Don't call dev_close/dev_open (DOWN/UP) 2023-08-02 10:12:51 +01:00
qeth_l2_sys.c s390/qeth: Convert sysfs sprintf to sysfs_emit 2023-02-10 19:49:53 -08:00
qeth_l3.h
qeth_l3_main.c s390/qeth: Fix potential loss of L3-IP@ in case of network issues 2024-02-08 12:10:09 +01:00
qeth_l3_sys.c s390/qeth: Fix vipa deletion 2023-07-05 10:47:45 +01:00
smsgiucv.c
smsgiucv.h
smsgiucv_app.c