diff options
author | Tobias Jakobi <tjakobi@math.uni-bielefeld.de> | 2015-02-24 15:20:48 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2015-03-10 19:21:52 +0000 |
commit | 734d13b13b2f6f02465bf51412e0c2be255eb8b5 (patch) | |
tree | 80eccf2671ccb5ff8c9be4467f9171ae40c1d373 /tests | |
parent | 74add49f1b829dd580aae1dfdce2a0ebbbba216c (diff) |
tests/exynos: improve error handling
Check for a useable connector and also if the resolution is sane
(width and height are both non-zero).
Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/exynos/exynos_fimg2d_test.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/exynos/exynos_fimg2d_test.c b/tests/exynos/exynos_fimg2d_test.c index d89fc231..14b38a9e 100644 --- a/tests/exynos/exynos_fimg2d_test.c +++ b/tests/exynos/exynos_fimg2d_test.c @@ -616,10 +616,22 @@ int main(int argc, char **argv) connector_find_mode(dev->fd, &con, resources); drmModeFreeResources(resources); + if (!con.mode) { + fprintf(stderr, "failed to find usable connector\n"); + ret = -EFAULT; + goto err_drm_close; + } + screen_width = con.mode->hdisplay; screen_height = con.mode->vdisplay; - printf("screen width = %d, screen height = %d\n", screen_width, + if (screen_width == 0 || screen_height == 0) { + fprintf(stderr, "failed to find sane resolution on connector\n"); + ret = -EFAULT; + goto err_drm_close; + } + + printf("screen width = %d, screen height = %d\n", screen_width, screen_height); bo = exynos_create_buffer(dev, screen_width * screen_height * 4, 0); |