From: <ai...@ke...> - 2008-06-04 05:25:52
|
linux-core/drm_crtc_helper.c | 13 ++++++++++--- linux-core/intel_tv.c | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) New commits: commit cf1964f971cc298ece91064953f7d00ed13e541d Author: Dave Airlie <ai...@re...> Date: Wed Jun 4 15:17:13 2008 +1000 drm: fix hotplug oops diff --git a/linux-core/drm_crtc_helper.c b/linux-core/drm_crtc_helper.c index 58d21b9..4083d6b 100644 --- a/linux-core/drm_crtc_helper.c +++ b/linux-core/drm_crtc_helper.c @@ -712,9 +712,11 @@ int drm_helper_hotplug_stage_two(struct drm_device *dev, struct drm_connector *c return 0; } - if (connector->encoder->crtc && connector->encoder->crtc->desired_mode) { - DRM_DEBUG("drm thinks that the connector already has a config\n"); - has_config = 1; + if (connector->encoder) { + if (connector->encoder->crtc && connector->encoder->crtc->desired_mode) { + DRM_DEBUG("drm thinks that the connector already has a config\n"); + has_config = 1; + } } drm_helper_probe_connector_modes(dev, 2048, 2048); @@ -722,6 +724,11 @@ int drm_helper_hotplug_stage_two(struct drm_device *dev, struct drm_connector *c if (!has_config) drm_pick_crtcs(dev); + if (!connector->encoder) { + DRM_DEBUG("could not find a desired mode or crtc for connector\n"); + return 1; + } + if (!connector->encoder->crtc || !connector->encoder->crtc->desired_mode) { DRM_DEBUG("could not find a desired mode or crtc for connector\n"); return 1; commit a8725d95bc2b51500ff56c4e6365408d15f3bc6e Author: Dave Airlie <ai...@re...> Date: Wed Jun 4 15:17:00 2008 +1000 intel: report a known connector diff --git a/linux-core/intel_tv.c b/linux-core/intel_tv.c index 25fb2e6..39f33d6 100644 --- a/linux-core/intel_tv.c +++ b/linux-core/intel_tv.c @@ -1680,7 +1680,7 @@ intel_tv_init(struct drm_device *dev) connector = &intel_output->base; drm_connector_init(dev, connector, &intel_tv_connector_funcs, - DRM_MODE_CONNECTOR_Unknown); + DRM_MODE_CONNECTOR_SVIDEO); drm_encoder_init(dev, &intel_output->enc, &intel_tv_enc_funcs, DRM_MODE_ENCODER_TVDAC); |