aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_sdvo.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-09-23 16:15:21 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-09-23 17:13:33 +0100
commit123d5c0197d8333c3f5cb9572a0c8299dc611233 (patch)
tree7a6fb7c4843574339f4be66c16a51f21a0d8b7b2 /drivers/gpu/drm/i915/intel_sdvo.c
parent9b74f7348f214b1f99819f0d0da4a1cbabb1e740 (diff)
downloadkernel_samsung_smdk4412-123d5c0197d8333c3f5cb9572a0c8299dc611233.zip
kernel_samsung_smdk4412-123d5c0197d8333c3f5cb9572a0c8299dc611233.tar.gz
kernel_samsung_smdk4412-123d5c0197d8333c3f5cb9572a0c8299dc611233.tar.bz2
drm/i915/sdvo: Cleanup connector on error path
We weren't unlinking the freed connector from the drm lists, and so hit some use-after-free if we failed to initialise the connector. Reported-and-tested-by: Woody Suwalski <terraluna977@gmail.com> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=18342 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_sdvo.c')
-rw-r--r--drivers/gpu/drm/i915/intel_sdvo.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index e8e902d..60fcef7 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -2170,8 +2170,7 @@ intel_sdvo_tv_init(struct intel_sdvo *intel_sdvo, int type)
return true;
err:
- intel_sdvo_destroy_enhance_property(connector);
- kfree(intel_sdvo_connector);
+ intel_sdvo_destroy(connector);
return false;
}
@@ -2243,8 +2242,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
return true;
err:
- intel_sdvo_destroy_enhance_property(connector);
- kfree(intel_sdvo_connector);
+ intel_sdvo_destroy(connector);
return false;
}