summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/tilcdc
diff options
context:
space:
mode:
authorDaniel Schultz <d.schultz@phytec.de>2016-09-23 10:52:49 (GMT)
committerJyri Sarha <jsarha@ti.com>2016-09-23 12:12:57 (GMT)
commit7b993855dfd5d87e07ac84285d3d9bb0c743dede (patch)
treed6e4534562fdaee5e6e147f898a88f81a443b405 /drivers/gpu/drm/tilcdc
parentcf97ee19629363d5847a4af135cf415f76d7388c (diff)
downloadlinux-7b993855dfd5d87e07ac84285d3d9bb0c743dede.tar.xz
drm/tilcdc: fix wrong error handling
When 'component_bind_all' fails it should not try to unbind components in the error handling. This will produce a null pointer kernel panic when no component exist. This patch changes the order of the error handling. Now, it will only unbind components if the are bound. Otherwise, the module will jump to an error label below. Signed-off-by: Daniel Schultz <d.schultz@phytec.de> Reviewed-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Jyri Sarha <jsarha@ti.com>
Diffstat (limited to 'drivers/gpu/drm/tilcdc')
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_drv.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 4b93cab..a694977 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -412,13 +412,13 @@ fail_irq_uninstall:
fail_vblank_cleanup:
drm_vblank_cleanup(dev);
-fail_mode_config_cleanup:
- drm_mode_config_cleanup(dev);
-
fail_component_cleanup:
if (priv->is_componentized)
component_unbind_all(dev->dev, dev);
+fail_mode_config_cleanup:
+ drm_mode_config_cleanup(dev);
+
fail_external_cleanup:
tilcdc_remove_external_encoders(dev);