summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.c
diff options
context:
space:
mode:
authorChris Wilson2018-07-10 11:44:21 +0200
committerChris Wilson2018-07-10 15:09:18 +0200
commit73bad7ca87b65a91f61cf34b92a1febd689c01c1 (patch)
tree6290fceb9b67de00c8fe0ed02c7edfa8c3918b86 /drivers/gpu/drm/i915/i915_drv.c
parentdrm/i915: Flush the residual parking on emergency shutdown (diff)
downloadkernel-qcow2-linux-73bad7ca87b65a91f61cf34b92a1febd689c01c1.tar.gz
kernel-qcow2-linux-73bad7ca87b65a91f61cf34b92a1febd689c01c1.tar.xz
kernel-qcow2-linux-73bad7ca87b65a91f61cf34b92a1febd689c01c1.zip
drm/i915: Cleanup modesetting on load-error path
After handling a critical failure initialising GEM we need to unwind the modesetting setup. Testcase: igt/drv_module_reload/basic-reload-inject Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20180710094421.16223-2-chris@chris-wilson.co.uk Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.c')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index c2b9a4a0ee49..f26cc721ee0f 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -682,7 +682,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
ret = i915_gem_init(dev_priv);
if (ret)
- goto cleanup_irq;
+ goto cleanup_modeset;
intel_setup_overlay(dev_priv);
@@ -702,6 +702,8 @@ cleanup_gem:
if (i915_gem_suspend(dev_priv))
DRM_ERROR("failed to idle hardware; continuing to unload!\n");
i915_gem_fini(dev_priv);
+cleanup_modeset:
+ intel_modeset_cleanup(dev);
cleanup_irq:
drm_irq_uninstall(dev);
intel_teardown_gmbus(dev_priv);