On Wed,  8 Aug 2018 10:44:27 -0400
Tony Krowiak <akrow...@linux.vnet.ibm.com> wrote:

> From: Tony Krowiak <akrow...@linux.ibm.com>
> 
> Let's call PAPQ(ZAPQ) to zeroize a queue:
> 
> * For each queue configured for a mediated matrix device
>   when it is released.
> 
> Zeroizing a queue resets the queue, clears all pending
> messages for the queue entries and disables adapter interruptions
> associated with the queue.
> 
> Signed-off-by: Tony Krowiak <akrow...@linux.ibm.com>
> Reviewed-by: Halil Pasic <pa...@linux.ibm.com>
> Tested-by: Michael Mueller <m...@linux.ibm.com>
> Tested-by: Farhan Ali <al...@linux.ibm.com>
> Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com>
> ---
>  drivers/s390/crypto/vfio_ap_ops.c     |   29 ++++++++++++++++++++++++++++-
>  drivers/s390/crypto/vfio_ap_private.h |   25 +++++++++++++++++++++++++
>  2 files changed, 53 insertions(+), 1 deletions(-)
> 

> @@ -788,7 +812,10 @@ static void vfio_ap_mdev_release(struct mdev_device 
> *mdev)
>  {
>       struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev);
>  
> -     kvm_arch_crypto_clear_masks(matrix_mdev->kvm);
> +     if (matrix_mdev->kvm)
> +             kvm_arch_crypto_clear_masks(matrix_mdev->kvm);

Confused. Why is the check for matrix_mdev->kvm added here?

> +
> +     vfio_ap_mdev_reset_queues(mdev, true);
>       vfio_unregister_notifier(mdev_dev(mdev), VFIO_GROUP_NOTIFY,
>                                &matrix_mdev->group_notifier);
>       matrix_mdev->kvm = NULL;

Reply via email to