linux/drivers/s390
Harald Freudenberger a03b8ab029 s390/ap: re-init AP queues on config on
[ Upstream commit 32d1d9204f ]

On a state toggle from config off to config on and on the
state toggle from checkstop to not checkstop the queue's
internal states was set but the state machine was not
nudged. This did not care as on the first enqueue of a
request the state machine kick ran.

However, within an Secure Execution guest a queue is
only chosen by the scheduler when it has been bound.
But to bind a queue, it needs to run through the initial
states (reset, enable interrupts, ...). So this is like
a chicken-and-egg problem and the result was in fact
that a queue was unusable after a config off/on toggle.

With some slight rework of the handling of these states
now the new function _ap_queue_init_state() is called
which is the core of the ap_queue_init_state() function
but without locking handling. This has the benefit that
it can be called on all the places where a (re-)init
of the AP queue's state machine is needed.

Fixes: 2d72eaf036 ("s390/ap: implement SE AP bind, unbind and associate")
Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 11:59:28 +01:00
..
block block-6.6-2023-09-08 2023-09-08 21:39:54 -07:00
char more s390 updates for 6.6 merge window 2023-09-07 10:52:13 -07:00
cio s390/cio: fix a memleak in css_alloc_subchannel 2023-10-16 13:03:05 +02:00
crypto s390/ap: re-init AP queues on config on 2023-11-20 11:59:28 +01:00
net net/smc: Fix dependency of SMC on ISM 2023-10-10 11:51:41 +02:00
scsi scsi: zfcp: Fix a double put in zfcp_port_enqueue() 2023-09-27 11:31:20 -04:00
virtio s390/airq: remove lsi_mask from airq_struct 2023-08-30 11:03:28 +02:00
Makefile