summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/kms_flip.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index f57462fd..ee9834f0 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1130,6 +1130,16 @@ static unsigned event_loop(struct test_output *o, unsigned duration_ms)
return end - start;
}
+static void free_test_output(struct test_output *o)
+{
+ int i;
+
+ for (i = 0; i < o->count; i++) {
+ drmModeFreeEncoder(o->kencoder[i]);
+ drmModeFreeConnector(o->kconnector[i]);
+ }
+}
+
static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
int crtc_count, int duration_ms)
{
@@ -1232,10 +1242,7 @@ out:
last_connector = NULL;
- for (i = 0; i < o->count; i++) {
- drmModeFreeEncoder(o->kencoder[i]);
- drmModeFreeConnector(o->kconnector[i]);
- }
+ free_test_output(o);
}
static int run_test(int duration, int flags)
@@ -1262,6 +1269,7 @@ static int run_test(int duration, int flags)
if (o.mode_valid)
modes++;
+ free_test_output(&o);
}
}
@@ -1319,6 +1327,7 @@ static int run_pair(int duration, int flags)
if (o.mode_valid)
modes++;
+ free_test_output(&o);
}
}
}