summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2015-07-09 08:25:38 +0200
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:54:09 +0900
commitb6081b563d1d450fe11679dee2778d404a1b9000 (patch)
tree565fb2652349c6d4e718f90aa272bb7d172781b0
parent72cfa9b84c7628e9f09a7de23ca59f3a9c8d35b2 (diff)
drm/exynos/hdmi: fix edid memory leak
edid returned by drm_get_edid should be freed. The patch fixes it. Change-Id: Ied8d60b6a1e12409037defb04be4bcf0c906690d Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 35517a890439..96ca55b241c9 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -916,6 +916,7 @@ static int hdmi_get_modes(struct drm_connector *connector)
{
struct hdmi_context *hdata = ctx_from_connector(connector);
struct edid *edid;
+ int ret;
if (!hdata->ddc_adpt)
return -ENODEV;
@@ -931,7 +932,11 @@ static int hdmi_get_modes(struct drm_connector *connector)
drm_mode_connector_update_edid_property(connector, edid);
- return drm_add_edid_modes(connector, edid);
+ ret = drm_add_edid_modes(connector, edid);
+
+ kfree(edid);
+
+ return ret;
}
static int hdmi_find_phy_conf(struct hdmi_context *hdata, u32 pixel_clock)