@@ -1221,9 +1221,6 @@ int i915_driver_unload(struct drm_device *dev)
i915_teardown_sysfs(dev);
- io_mapping_free(dev_priv->gtt.mappable);
- arch_phys_wc_del(dev_priv->gtt.mtrr);
-
acpi_video_unregister();
i915_gem_shrinker_cleanup(dev_priv);
@@ -1254,9 +1251,6 @@ int i915_driver_unload(struct drm_device *dev)
cancel_delayed_work_sync(&dev_priv->gpu_error.hangcheck_work);
i915_destroy_error_state(dev);
- if (dev->pdev->msi_enabled)
- pci_disable_msi(dev->pdev);
-
intel_opregion_fini(dev);
/* Flush any outstanding unpin_work. */
@@ -1271,8 +1265,11 @@ int i915_driver_unload(struct drm_device *dev)
intel_power_domains_fini(dev_priv);
+ if (dev->pdev->msi_enabled)
+ pci_disable_msi(dev->pdev);
pm_qos_remove_request(&dev_priv->pm_qos);
-
+ arch_phys_wc_del(dev_priv->gtt.mtrr);
+ io_mapping_free(dev_priv->gtt.mappable);
i915_global_gtt_cleanup(dev);
intel_uncore_fini(dev);
Move the GTT,MSI IRQ cleanup later so that it matches their corresponding init order. Also fix the order of these calls wrt. each other to match their corresponding init order. Signed-off-by: Imre Deak <imre.deak@intel.com> --- drivers/gpu/drm/i915/i915_dma.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)