s390/vfio_ap: increase max wait time for reset verification
authorTony Krowiak <akrowiak@linux.ibm.com>
Wed, 18 Jan 2023 20:31:11 +0000 (15:31 -0500)
committerHeiko Carstens <hca@linux.ibm.com>
Sun, 22 Jan 2023 17:42:36 +0000 (18:42 +0100)
Increase the maximum time to wait for verification of a queue reset
operation to 200ms.

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Link: https://lore.kernel.org/r/20230118203111.529766-7-akrowiak@linux.ibm.com
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
drivers/s390/crypto/vfio_ap_ops.c

index 3bf012b3508e759f2b68323fca5b3262939b4ce7..cd488639a15b32824e1857e2bf4d6966a66e8dc4 100644 (file)
@@ -30,6 +30,9 @@
 #define AP_QUEUE_UNASSIGNED "unassigned"
 #define AP_QUEUE_IN_USE "in use"
 
+#define MAX_RESET_CHECK_WAIT   200     /* Sleep max 200ms for reset check      */
+#define AP_RESET_INTERVAL              20      /* Reset sleep interval (20ms)          */
+
 static int vfio_ap_mdev_reset_queues(struct ap_queue_table *qtable);
 static struct vfio_ap_queue *vfio_ap_find_queue(int apqn);
 static const struct vfio_device_ops vfio_ap_matrix_dev_ops;
@@ -1626,11 +1629,12 @@ static int apq_status_check(int apqn, struct ap_queue_status *status)
 
 static int apq_reset_check(struct vfio_ap_queue *q)
 {
-       int iters = 2, ret;
+       int ret;
+       int iters = MAX_RESET_CHECK_WAIT / AP_RESET_INTERVAL;
        struct ap_queue_status status;
 
-       while (iters--) {
-               msleep(20);
+       for (; iters > 0; iters--) {
+               msleep(AP_RESET_INTERVAL);
                status = ap_tapq(q->apqn, NULL);
                ret = apq_status_check(q->apqn, &status);
                if (ret != -EBUSY)