summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordumbbell <dumbbell@FreeBSD.org>2013-03-08 18:15:07 +0000
committerdumbbell <dumbbell@FreeBSD.org>2013-03-08 18:15:07 +0000
commit0119fcdaa7209e6b01db9cd061d739cb74e12a22 (patch)
treef56f13eb2a83a0a934f4ddb58de455815823dee2
parent272ebf2f26d38465ecfe2e36a41d2d2465484d37 (diff)
downloadFreeBSD-src-0119fcdaa7209e6b01db9cd061d739cb74e12a22.zip
FreeBSD-src-0119fcdaa7209e6b01db9cd061d739cb74e12a22.tar.gz
Import Linux commit a1b7736dac5f2d5876e68c47a0fce3f423840070
Author: Sascha Hauer <s.hauer@pengutronix.de> Date: Wed Feb 1 11:38:22 2012 +0100 drm drm_fb_helper: destroy modes drm_setup_crtcs allocated modes using drm_mode_duplicate. Free them in drm_fb_helper_crtc_free. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Dave Airlie <airlied@redhat.com> Discussed with: Konstantin Belousov (kib@)
-rw-r--r--sys/dev/drm2/drm_fb_helper.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/drm2/drm_fb_helper.c b/sys/dev/drm2/drm_fb_helper.c
index 2f24ec4..37b50cf 100644
--- a/sys/dev/drm2/drm_fb_helper.c
+++ b/sys/dev/drm2/drm_fb_helper.c
@@ -555,8 +555,11 @@ static void drm_fb_helper_crtc_free(struct drm_fb_helper *helper)
for (i = 0; i < helper->connector_count; i++)
free(helper->connector_info[i], DRM_MEM_KMS);
free(helper->connector_info, DRM_MEM_KMS);
- for (i = 0; i < helper->crtc_count; i++)
+ for (i = 0; i < helper->crtc_count; i++) {
free(helper->crtc_info[i].mode_set.connectors, DRM_MEM_KMS);
+ if (helper->crtc_info[i].mode_set.mode)
+ drm_mode_destroy(helper->dev, helper->crtc_info[i].mode_set.mode);
+ }
free(helper->crtc_info, DRM_MEM_KMS);
}
OpenPOWER on IntegriCloud