From: Daniel Vetter Date: Fri, 14 Jul 2017 22:46:56 +0000 (+0200) Subject: drm/i915: unregister interfaces first in unload X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=99c539bef5385099585335897185a014a8dfe1bf;p=openwrt%2Fstaging%2Fblogic.git drm/i915: unregister interfaces first in unload We first need to make sure no one else can get at us anymore, before we can proceed to tear down all the datastructures. Just a small step towards eventually the perfect unload code ... Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter Link: https://patchwork.freedesktop.org/patch/msgid/20170714224656.6431-3-daniel.vetter@ffwll.ch --- diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index ffeb3a3bed58..f406aec8a499 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1375,6 +1375,8 @@ void i915_driver_unload(struct drm_device *dev) struct drm_i915_private *dev_priv = to_i915(dev); struct pci_dev *pdev = dev_priv->drm.pdev; + i915_driver_unregister(dev_priv); + if (i915_gem_suspend(dev_priv)) DRM_ERROR("failed to idle hardware; continuing to unload!\n"); @@ -1384,8 +1386,6 @@ void i915_driver_unload(struct drm_device *dev) intel_gvt_cleanup(dev_priv); - i915_driver_unregister(dev_priv); - drm_vblank_cleanup(dev); intel_modeset_cleanup(dev);