linux_dsm_epyc7002/drivers/s390
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
..
block s390/dasd: fix hanging IO request during DASD driver unbind 2021-03-17 17:06:28 +01:00
char s390/sclp_vt220: fix console name to match device 2021-07-20 16:05:42 +02:00
cio s390/cio: add dev_busid sysfs entry for each subchannel 2024-07-05 19:09:35 +02:00
crypto s390/ap: fix state machine hang after failure to enable irq 2024-07-05 19:09:52 +02:00
net s390/qeth: schedule TX NAPI on QAOB completion 2021-03-25 09:04:13 +01:00
scsi scsi: zfcp: Report port fc_security as unknown early during remote cable pull 2021-07-20 16:05:36 +02:00
virtio virtio/s390: implement virtio-ccw revision 2 correctly 2021-03-04 11:38:42 +01:00
Makefile s390: remove pointless drivers-y in drivers/s390/Makefile 2019-09-16 13:21:51 +02:00