Commit 99c539be authored by Daniel Vetter's avatar Daniel Vetter

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: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20170714224656.6431-3-daniel.vetter@ffwll.ch
parent 4f256d82
...@@ -1375,6 +1375,8 @@ void i915_driver_unload(struct drm_device *dev) ...@@ -1375,6 +1375,8 @@ void i915_driver_unload(struct drm_device *dev)
struct drm_i915_private *dev_priv = to_i915(dev); struct drm_i915_private *dev_priv = to_i915(dev);
struct pci_dev *pdev = dev_priv->drm.pdev; struct pci_dev *pdev = dev_priv->drm.pdev;
i915_driver_unregister(dev_priv);
if (i915_gem_suspend(dev_priv)) if (i915_gem_suspend(dev_priv))
DRM_ERROR("failed to idle hardware; continuing to unload!\n"); DRM_ERROR("failed to idle hardware; continuing to unload!\n");
...@@ -1384,8 +1386,6 @@ void i915_driver_unload(struct drm_device *dev) ...@@ -1384,8 +1386,6 @@ void i915_driver_unload(struct drm_device *dev)
intel_gvt_cleanup(dev_priv); intel_gvt_cleanup(dev_priv);
i915_driver_unregister(dev_priv);
drm_vblank_cleanup(dev); drm_vblank_cleanup(dev);
intel_modeset_cleanup(dev); intel_modeset_cleanup(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment