diff options
author | Harald Freudenberger <freude@linux.ibm.com> | 2021-08-25 11:55:02 +0300 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2021-08-26 21:22:12 +0300 |
commit | cabebb697c98fb1f05cc950a747a9b6ec61a5b01 (patch) | |
tree | 3a3cd3726ed8e633dc96f68fafd987dc402450ce /arch/s390/kernel | |
parent | 0d6d75d2a2c341ce99f0549fa28bee93fa56505d (diff) | |
download | linux-cabebb697c98fb1f05cc950a747a9b6ec61a5b01.tar.xz |
s390/ap: fix state machine hang after failure to enable irq
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>
Diffstat (limited to 'arch/s390/kernel')
0 files changed, 0 insertions, 0 deletions