diff options
author | Benjamin Gaignard <benjamin.gaignard@linaro.org> | 2014-12-11 15:35:29 +0300 |
---|---|---|
committer | Benjamin Gaignard <benjamin.gaignard@linaro.org> | 2014-12-11 16:00:19 +0300 |
commit | f78e772a2c7aa4e96398de9e3fa0be750c705d3a (patch) | |
tree | 4164e82ef4e7bc87f21f1b61559de55a47640d68 /drivers/gpu/drm/sti | |
parent | 4fdbc678fe4dc18cbf1d97e1b45660f91c3089b4 (diff) | |
download | linux-f78e772a2c7aa4e96398de9e3fa0be750c705d3a.tar.xz |
drm: sti: correctly cleanup CRTC and planes
When bind failed make sure that CRTC and planes are
completely clean up to avoid properties duplication.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Diffstat (limited to 'drivers/gpu/drm/sti')
-rw-r--r-- | drivers/gpu/drm/sti/sti_drm_drv.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/sti/sti_drm_drv.c b/drivers/gpu/drm/sti/sti_drm_drv.c index 223d93c3a05d..9ce7574ac873 100644 --- a/drivers/gpu/drm/sti/sti_drm_drv.c +++ b/drivers/gpu/drm/sti/sti_drm_drv.c @@ -67,8 +67,12 @@ static int sti_drm_load(struct drm_device *dev, unsigned long flags) sti_drm_mode_config_init(dev); ret = component_bind_all(dev->dev, dev); - if (ret) + if (ret) { + drm_kms_helper_poll_fini(dev); + drm_mode_config_cleanup(dev); + kfree(private); return ret; + } drm_helper_disable_unused_functions(dev); |