linux_dsm_epyc7002/drivers/s390/crypto
Harald Freudenberger ee54c4ffc9 s390/ap: fix state machine hang after failure to enable irq
[ Upstream commit cabebb697c98fb1f05cc950a747a9b6ec61a5b01 ]

If for any reason the interrupt enable for an ap queue fails the
state machine run for the queue returned wrong return codes to the
caller. So the caller assumed interrupt support for this queue in
enabled and thus did not re-establish the high resolution timer used
for polling. In the end this let to a hang for the user space process
waiting "forever" for the reply.

This patch reworks these return codes to return correct indications
for the caller to re-establish the timer when a queue runs without
interrupt support.

Please note that this is fixing a wrong behavior after a first
failure (enable interrupt support for the queue) failed. However,
looks like this occasionally happens on KVM systems.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 19:09:52 +02:00
..
ap_bus.c s390/ap: fix state machine hang after failure to enable irq 2024-07-05 19:09:52 +02:00
ap_bus.h s390/ap: fix state machine hang after failure to enable irq 2024-07-05 19:09:52 +02:00
ap_card.c s390/ap: Support AP card SCLP config and deconfig operations 2020-10-07 21:50:01 +02:00
ap_debug.h s390/ap: add error response code field for ap queue devices 2020-10-07 21:50:00 +02:00
ap_queue.c s390/ap: fix state machine hang after failure to enable irq 2024-07-05 19:09:52 +02:00
Makefile s390/zcrypt: add new low level ep11 functions support file 2020-01-30 13:07:55 +01:00
pkey_api.c s390/pkey: fix paes selftest failure with paes and pkey static build 2020-11-03 15:12:16 +01:00
vfio_ap_drv.c s390/vfio-ap: No need to disable IRQ after queue reset 2021-02-03 23:28:39 +01:00
vfio_ap_ops.c s390/crypto: return -EFAULT if copy_to_user() fails 2021-03-17 17:06:19 +01:00
vfio_ap_private.h s390/vfio-ap: No need to disable IRQ after queue reset 2021-02-03 23:28:39 +01:00
zcrypt_api.c s390/zcrypt: return EIO when msg retry limit reached 2021-03-04 11:37:48 +01:00
zcrypt_api.h s390/zcrypt: Introduce Failure Injection feature 2020-10-07 21:50:01 +02:00
zcrypt_card.c s390/zcrypt: fix zcard and zqueue hot-unplug memleak 2021-05-11 14:47:11 +02:00
zcrypt_cca_key.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_ccamisc.c s390/zcrypt: fix wrong offset index for APKA master key valid state 2024-07-05 19:09:35 +02:00
zcrypt_ccamisc.h s390/pkey: support CCA and EP11 secure ECC private keys 2020-09-24 10:03:28 +02:00
zcrypt_cex2a.c s390/zcrypt: introduce msg tracking in zcrypt functions 2020-10-07 21:49:59 +02:00
zcrypt_cex2a.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex2c.c s390/zcrypt: introduce msg tracking in zcrypt functions 2020-10-07 21:49:59 +02:00
zcrypt_cex2c.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex4.c s390/zcrypt: introduce msg tracking in zcrypt functions 2020-10-07 21:49:59 +02:00
zcrypt_cex4.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
zcrypt_debug.h s390/ap/zcrypt: revisit ap and zcrypt error handling 2020-10-07 21:50:01 +02:00
zcrypt_ep11misc.c s390/pkey: support CCA and EP11 secure ECC private keys 2020-09-24 10:03:28 +02:00
zcrypt_ep11misc.h s390/pkey: support CCA and EP11 secure ECC private keys 2020-09-24 10:03:28 +02:00
zcrypt_error.h s390/ap/zcrypt: revisit ap and zcrypt error handling 2020-10-07 21:50:01 +02:00
zcrypt_msgtype6.c s390/zcrypt: Introduce Failure Injection feature 2020-10-07 21:50:01 +02:00
zcrypt_msgtype6.h s390/zcrypt: remove set_fs() invocation in zcrypt device driver 2020-09-17 14:11:03 +02:00
zcrypt_msgtype50.c s390/zcrypt: Introduce Failure Injection feature 2020-10-07 21:50:01 +02:00
zcrypt_msgtype50.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_queue.c s390/zcrypt: fix zcard and zqueue hot-unplug memleak 2021-05-11 14:47:11 +02:00