aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2012-08-15 05:32:39 -0400
committerDave Airlie <airlied@redhat.com>2012-08-23 19:37:36 -0400
commit451023dc32d4542c21b52ad1692e6e01cb75b099 (patch)
tree9380bd992f953d0a7403b3894bd1d946b6fbca91 /drivers/staging
parent993dcb05e47e357ade19c41f60b39085eeba8787 (diff)
drm: remove the raw_edid field from struct drm_display_info
Neither the drm core nor any of the drivers really need the raw_edid field of struct drm_display_info for anything. Instead of being useful, it creates confusion about who is responsible for freeing the memory it points to and setting the field to NULL afterwards, leading to memory leaks and dangling pointers. Remove the raw_edid field, and fix drivers as necessary. Reported-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/omapdrm/omap_connector.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/staging/omapdrm/omap_connector.c b/drivers/staging/omapdrm/omap_connector.c
index 5e2856c0e0bb..9c2287b71d29 100644
--- a/drivers/staging/omapdrm/omap_connector.c
+++ b/drivers/staging/omapdrm/omap_connector.c
@@ -177,14 +177,11 @@ static int omap_connector_get_modes(struct drm_connector *connector)
177 drm_mode_connector_update_edid_property( 177 drm_mode_connector_update_edid_property(
178 connector, edid); 178 connector, edid);
179 n = drm_add_edid_modes(connector, edid); 179 n = drm_add_edid_modes(connector, edid);
180 kfree(connector->display_info.raw_edid);
181 connector->display_info.raw_edid = edid;
182 } else { 180 } else {
183 drm_mode_connector_update_edid_property( 181 drm_mode_connector_update_edid_property(
184 connector, NULL); 182 connector, NULL);
185 connector->display_info.raw_edid = NULL;
186 kfree(edid);
187 } 183 }
184 kfree(edid);
188 } else { 185 } else {
189 struct drm_display_mode *mode = drm_mode_create(dev); 186 struct drm_display_mode *mode = drm_mode_create(dev);
190 struct omap_video_timings timings; 187 struct omap_video_timings timings;