summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/intel_crt.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-09-15 12:03:59 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-09-15 16:45:25 +0100
commit373a3cf744c774478f44921c50011b896ab08f9d (patch)
tree78725e96b9d17190c05baa50a96bf1afdcab0e7f /drivers/gpu/drm/i915/intel_crt.c
parent2f551c84563df2bf144a819993b2d729c66583ee (diff)
drm/i915: call drm_encoder_init first
Later initialisation of the encoder often requires that drm_encoder_init() has already been called, for instance, initialiasing the DDC buses. Yet another recent regression, as 819f3fb7 depended upon these fixes which I missed when cherry-picking. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_crt.c')
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 0403ec9e164..2353da625d2 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -548,6 +548,10 @@ void intel_crt_init(struct drm_device *dev)
if (!intel_encoder->ddc_bus) {
dev_printk(KERN_ERR, &dev->pdev->dev, "DDC bus registration "
"failed.\n");
+ drm_connector_cleanup(&intel_connector->base);
+ kfree(intel_connector);
+ drm_encoder_cleanup(&intel_encoder->base);
+ kfree(intel_encoder);
return;
}