forked from luck/tmp_suning_uos_patched
a758b1d4ca
[ 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> |
||
---|---|---|
.. | ||
ap_bus.c | ||
ap_bus.h | ||
ap_card.c | ||
ap_debug.h | ||
ap_queue.c | ||
Makefile | ||
pkey_api.c | ||
vfio_ap_drv.c | ||
vfio_ap_ops.c | ||
vfio_ap_private.h | ||
zcrypt_api.c | ||
zcrypt_api.h | ||
zcrypt_card.c | ||
zcrypt_cca_key.h | ||
zcrypt_ccamisc.c | ||
zcrypt_ccamisc.h | ||
zcrypt_cex2a.c | ||
zcrypt_cex2a.h | ||
zcrypt_cex2c.c | ||
zcrypt_cex2c.h | ||
zcrypt_cex4.c | ||
zcrypt_cex4.h | ||
zcrypt_debug.h | ||
zcrypt_ep11misc.c | ||
zcrypt_ep11misc.h | ||
zcrypt_error.h | ||
zcrypt_msgtype6.c | ||
zcrypt_msgtype6.h | ||
zcrypt_msgtype50.c | ||
zcrypt_msgtype50.h | ||
zcrypt_queue.c |