[Intel-gfx] [PATCH] Don't add panel_fixed_mode to the probed modes list at LVDS init time.

Steve Aarnio steve.j.aarnio at linux.intel.com
Thu Feb 12 20:34:02 CET 2009


In the case where no EDID data is read from the device adding the 
panel_fixed_mode pointer to the probed modes list causes data corruption.

If the panel_fixed_mode pointer is added to the probed modes list at 
init time, a copy of the mode is added again at drm_get_modes() request 
time.  Then, the panel_fixed_mode pointer is freed because it is seen as 
a duplicate mode.  Unfortunately, this pointer is still stored and used 
in mode_fixup().

Because the panel_fixed_mode data is copied and returned at 
drm_get_modes() time, it is unnecessary to add this information at init 
time.

---
  drivers/gpu/drm/i915/intel_lvds.c |    2 --
  1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_lvds.c 
b/drivers/gpu/drm/i915/intel_lvds.c
index 6d4f912..0d211af 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -481,8 +481,6 @@ void intel_lvds_init(struct drm_device *dev)
  		if (dev_priv->panel_fixed_mode) {
  			dev_priv->panel_fixed_mode->type |=
  				DRM_MODE_TYPE_PREFERRED;
-			drm_mode_probed_add(connector,
-				dev_priv->panel_fixed_mode);
  			goto out;
  		}
  	}
-- 
1.6.1.265.g9a013



More information about the Intel-gfx mailing list