tests/kms_flip: free the test_output struct when counting modes

Looks like we have to do a lot of work just to count the number of
modes...

Caught by Valgrind.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This commit is contained in:
Paulo Zanoni 2013-12-30 11:40:03 -02:00
parent 69856b5e7b
commit 98c10d379b

View File

@ -1130,6 +1130,16 @@ static unsigned event_loop(struct test_output *o, unsigned duration_ms)
return end - start; 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, static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
int crtc_count, int duration_ms) int crtc_count, int duration_ms)
{ {
@ -1232,10 +1242,7 @@ out:
last_connector = NULL; last_connector = NULL;
for (i = 0; i < o->count; i++) { free_test_output(o);
drmModeFreeEncoder(o->kencoder[i]);
drmModeFreeConnector(o->kconnector[i]);
}
} }
static int run_test(int duration, int flags) static int run_test(int duration, int flags)
@ -1262,6 +1269,7 @@ static int run_test(int duration, int flags)
if (o.mode_valid) if (o.mode_valid)
modes++; modes++;
free_test_output(&o);
} }
} }
@ -1319,6 +1327,7 @@ static int run_pair(int duration, int flags)
if (o.mode_valid) if (o.mode_valid)
modes++; modes++;
free_test_output(&o);
} }
} }
} }