summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/crypto/vfio_ap_ops.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
index bc9a814e6508..6ed9fe77793e 100644
--- a/drivers/s390/crypto/vfio_ap_ops.c
+++ b/drivers/s390/crypto/vfio_ap_ops.c
@@ -1656,6 +1656,9 @@ retry_zapq:
switch (status.response_code) {
case AP_RESPONSE_NORMAL:
ret = 0;
+ /* if the reset has not completed, wait for it to take effect */
+ if (!status.queue_empty || status.irq_enabled)
+ ret = apq_reset_check(q);
break;
case AP_RESPONSE_RESET_IN_PROGRESS:
/*
@@ -1685,10 +1688,6 @@ retry_zapq:
return -EIO;
}
- /* wait for the reset to take effect */
- if (!(status.queue_empty && !status.irq_enabled))
- ret = apq_reset_check(q);
-
free_resources:
vfio_ap_free_aqic_resources(q);