summaryrefslogtreecommitdiff
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
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>
-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);