[3/3] drm/i915: unregister interfaces first in unload
diff mbox

Message ID 20170714191439.31169-3-daniel.vetter@ffwll.ch
State New
Headers show

Commit Message

Daniel Vetter July 14, 2017, 7:14 p.m. UTC
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 ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/i915_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Chris Wilson July 14, 2017, 7:35 p.m. UTC | #1
Quoting Daniel Vetter (2017-07-14 20:14:39)
> 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 ...
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Just some concern from the inertia of having the old order for years,
but this looks completely correct to me. That the driver may still be
active as we disable the userspace interfaces should not affect those.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 3a6dc04bd51e..38990b264b97 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1372,6 +1372,7 @@  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");
@@ -1382,7 +1383,6 @@  void i915_driver_unload(struct drm_device *dev)
 
 	intel_gvt_cleanup(dev_priv);
 
-	i915_driver_unregister(dev_priv);
 	intel_modeset_cleanup(dev);
 
 	/*