diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-05-18 19:26:46 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-05-18 20:31:16 -0400 |
commit | 2bfcc0fc698d550689ef020c73b2d977b73e728c (patch) | |
tree | d0b77b1043b5225e001a1113a3322a297bd6f6bc /drivers | |
parent | 6fd024893911dcb51b4a0aa71971db5ba38f7071 (diff) |
drm/radeon/kms: reset ddc_bus in object header parsing
Some LVDS connectors don't have a ddc bus, so reset the
ddc bus to invalid before parsing the next connector
to avoid using stale ddc bus data. Should fix
fdo bug 28164.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_atombios.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index 1c24dad0ac39..8cb4173365c3 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c | |||
@@ -530,6 +530,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) | |||
530 | } | 530 | } |
531 | 531 | ||
532 | /* look up gpio for ddc, hpd */ | 532 | /* look up gpio for ddc, hpd */ |
533 | ddc_bus.valid = false; | ||
534 | hpd.hpd = RADEON_HPD_NONE; | ||
533 | if ((le16_to_cpu(path->usDeviceTag) & | 535 | if ((le16_to_cpu(path->usDeviceTag) & |
534 | (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) { | 536 | (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) { |
535 | for (j = 0; j < con_obj->ucNumberOfObjects; j++) { | 537 | for (j = 0; j < con_obj->ucNumberOfObjects; j++) { |
@@ -585,9 +587,6 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) | |||
585 | break; | 587 | break; |
586 | } | 588 | } |
587 | } | 589 | } |
588 | } else { | ||
589 | hpd.hpd = RADEON_HPD_NONE; | ||
590 | ddc_bus.valid = false; | ||
591 | } | 590 | } |
592 | 591 | ||
593 | /* needed for aux chan transactions */ | 592 | /* needed for aux chan transactions */ |