s390/vfio-ap: No need to disable IRQ after queue reset
authorTony Krowiak <akrowiak@linux.ibm.com>
Wed, 23 Dec 2020 01:15:53 +0000 (20:15 -0500)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 27 Jan 2021 12:00:04 +0000 (13:00 +0100)
commit6c12a6384e0c0b96debd88b24028e58f2ebd417b
tree504731c5481ac406b4b3f2bc7f4702eac1e34a71
parentf21916ec4826766463fe9fb55a5f43d2a365811d
s390/vfio-ap: No need to disable IRQ after queue reset

The queues assigned to a matrix mediated device are currently reset when:

* The VFIO_DEVICE_RESET ioctl is invoked
* The mdev fd is closed by userspace (QEMU)
* The mdev is removed from sysfs.

Immediately after the reset of a queue, a call is made to disable
interrupts for the queue. This is entirely unnecessary because the reset of
a queue disables interrupts, so this will be removed.

Furthermore, vfio_ap_irq_disable() does an unconditional PQAP/AQIC which
can result in a specification exception (when the corresponding facility
is not available), so this is actually a bugfix.

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
[pasic@linux.ibm.com: minor rework before merging]
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Fixes: ec89b55e3bce ("s390: ap: implement PAPQ AQIC interception in kernel")
Cc: <stable@vger.kernel.org>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/crypto/vfio_ap_drv.c
drivers/s390/crypto/vfio_ap_ops.c
drivers/s390/crypto/vfio_ap_private.h