diff options
author | Steve Aarnio <steve.j.aarnio@linux.intel.com> | 2009-02-12 11:34:02 -0800 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-02-20 12:21:12 +1000 |
commit | 67eabc0553a32c491fdb392ff2358a0384562050 (patch) | |
tree | 3110a71cedec4f54b8fe6fb60bb34ce7da4235b9 /drivers | |
parent | ea39f835168f60b01e59d0f348da25d297e7cf94 (diff) | |
download | op-kernel-dev-67eabc0553a32c491fdb392ff2358a0384562050.zip op-kernel-dev-67eabc0553a32c491fdb392ff2358a0384562050.tar.gz |
drm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init.
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.
Signed-off-by: Steve Aarnio <steve.j.aarnio@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers')
-rw-r--r-- | 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; } } |