diff options
author | Tony Krowiak <akrowiak@linux.ibm.com> | 2021-08-25 15:00:25 -0400 |
---|---|---|
committer | Alexander Gordeev <agordeev@linux.ibm.com> | 2022-07-19 16:18:11 +0200 |
commit | 70aeefe574cbf86528528832c615cae2701f2cf3 (patch) | |
tree | ba319b739eb37d05232c3bb493b658c1b90896dc /drivers/s390/crypto/vfio_ap_private.h | |
parent | 09d31ff78793ff007ec3b0a26000fcf29ad4928b (diff) | |
download | linux-stable-70aeefe574cbf86528528832c615cae2701f2cf3.tar.gz linux-stable-70aeefe574cbf86528528832c615cae2701f2cf3.tar.bz2 linux-stable-70aeefe574cbf86528528832c615cae2701f2cf3.zip |
s390/vfio-ap: reset queues after adapter/domain unassignment
When an adapter or domain is unassigned from an mdev attached to a KVM
guest, one or more of the guest's queues may get dynamically removed. Since
the removed queues could get re-assigned to another mdev, they need to be
reset. So, when an adapter or domain is unassigned from the mdev, the
queues that are removed from the guest's AP configuration (APCB) will be
reset.
Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Diffstat (limited to 'drivers/s390/crypto/vfio_ap_private.h')
-rw-r--r-- | drivers/s390/crypto/vfio_ap_private.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/s390/crypto/vfio_ap_private.h b/drivers/s390/crypto/vfio_ap_private.h index 97734b599583..dd81b3da0235 100644 --- a/drivers/s390/crypto/vfio_ap_private.h +++ b/drivers/s390/crypto/vfio_ap_private.h @@ -126,6 +126,7 @@ struct ap_matrix_mdev { * @apqn: the APQN of the AP queue device * @saved_isc: the guest ISC registered with the GIB interface * @mdev_qnode: allows the vfio_ap_queue struct to be added to a hashtable + * @reset_rc: the status response code from the last reset of the queue */ struct vfio_ap_queue { struct ap_matrix_mdev *matrix_mdev; @@ -134,6 +135,7 @@ struct vfio_ap_queue { #define VFIO_AP_ISC_INVALID 0xff unsigned char saved_isc; struct hlist_node mdev_qnode; + unsigned int reset_rc; }; int vfio_ap_mdev_register(void); |