summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tilcdc/tilcdc_drv.c
diff options
context:
space:
mode:
authorDaniel Schultz2016-09-23 12:52:49 +0200
committerJyri Sarha2016-09-23 14:12:57 +0200
commit7b993855dfd5d87e07ac84285d3d9bb0c743dede (patch)
treed6e4534562fdaee5e6e147f898a88f81a443b405 /drivers/gpu/drm/tilcdc/tilcdc_drv.c
parentdrm/tilcdc: Return directly after a failed kfree_table_init() in tilcdc_conve... (diff)
downloadkernel-qcow2-linux-7b993855dfd5d87e07ac84285d3d9bb0c743dede.tar.gz
kernel-qcow2-linux-7b993855dfd5d87e07ac84285d3d9bb0c743dede.tar.xz
kernel-qcow2-linux-7b993855dfd5d87e07ac84285d3d9bb0c743dede.zip
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/tilcdc_drv.c')
-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 4b93cab91168..a694977c32f4 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);