summaryrefslogtreecommitdiffstats
path: root/video/out/drm_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/drm_common.c')
-rw-r--r--video/out/drm_common.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/video/out/drm_common.c b/video/out/drm_common.c
index 4e9f497c6c..8a4e017d28 100644
--- a/video/out/drm_common.c
+++ b/video/out/drm_common.c
@@ -190,13 +190,18 @@ bool kms_setup(struct kms *kms, const char *device_path, int connector_id, int m
}
if (!setup_connector(kms, res, connector_id))
- return false;
+ goto err;
if (!setup_crtc(kms, res))
- return false;
+ goto err;
if (!setup_mode(kms, mode_id))
- return false;
+ goto err;
+ drmModeFreeResources(res);
return true;
+
+err:
+ drmModeFreeResources(res);
+ return false;
}
void kms_destroy(struct kms *kms)