diff options
| -rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem_gtt.c | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index b9159ade5e85..27fe65ac5940 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
| @@ -1386,7 +1386,6 @@ cleanup_gem: | |||
| 1386 | i915_gem_context_fini(dev); | 1386 | i915_gem_context_fini(dev); |
| 1387 | mutex_unlock(&dev->struct_mutex); | 1387 | mutex_unlock(&dev->struct_mutex); |
| 1388 | WARN_ON(dev_priv->mm.aliasing_ppgtt); | 1388 | WARN_ON(dev_priv->mm.aliasing_ppgtt); |
| 1389 | drm_mm_takedown(&dev_priv->gtt.base.mm); | ||
| 1390 | cleanup_irq: | 1389 | cleanup_irq: |
| 1391 | drm_irq_uninstall(dev); | 1390 | drm_irq_uninstall(dev); |
| 1392 | cleanup_gem_stolen: | 1391 | cleanup_gem_stolen: |
| @@ -1756,8 +1755,6 @@ out_mtrrfree: | |||
| 1756 | arch_phys_wc_del(dev_priv->gtt.mtrr); | 1755 | arch_phys_wc_del(dev_priv->gtt.mtrr); |
| 1757 | io_mapping_free(dev_priv->gtt.mappable); | 1756 | io_mapping_free(dev_priv->gtt.mappable); |
| 1758 | out_gtt: | 1757 | out_gtt: |
| 1759 | list_del(&dev_priv->gtt.base.global_link); | ||
| 1760 | drm_mm_takedown(&dev_priv->gtt.base.mm); | ||
| 1761 | dev_priv->gtt.base.cleanup(&dev_priv->gtt.base); | 1758 | dev_priv->gtt.base.cleanup(&dev_priv->gtt.base); |
| 1762 | out_regs: | 1759 | out_regs: |
| 1763 | intel_uncore_fini(dev); | 1760 | intel_uncore_fini(dev); |
| @@ -1846,7 +1843,6 @@ int i915_driver_unload(struct drm_device *dev) | |||
| 1846 | i915_free_hws(dev); | 1843 | i915_free_hws(dev); |
| 1847 | } | 1844 | } |
| 1848 | 1845 | ||
| 1849 | list_del(&dev_priv->gtt.base.global_link); | ||
| 1850 | WARN_ON(!list_empty(&dev_priv->vm_list)); | 1846 | WARN_ON(!list_empty(&dev_priv->vm_list)); |
| 1851 | 1847 | ||
| 1852 | drm_vblank_cleanup(dev); | 1848 | drm_vblank_cleanup(dev); |
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 931b906f292a..41e864ec5632 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c | |||
| @@ -1985,7 +1985,10 @@ static void gen6_gmch_remove(struct i915_address_space *vm) | |||
| 1985 | 1985 | ||
| 1986 | struct i915_gtt *gtt = container_of(vm, struct i915_gtt, base); | 1986 | struct i915_gtt *gtt = container_of(vm, struct i915_gtt, base); |
| 1987 | 1987 | ||
| 1988 | drm_mm_takedown(&vm->mm); | 1988 | if (drm_mm_initialized(&vm->mm)) { |
| 1989 | drm_mm_takedown(&vm->mm); | ||
| 1990 | list_del(&vm->global_link); | ||
| 1991 | } | ||
| 1989 | iounmap(gtt->gsm); | 1992 | iounmap(gtt->gsm); |
| 1990 | teardown_scratch_page(vm->dev); | 1993 | teardown_scratch_page(vm->dev); |
| 1991 | } | 1994 | } |
| @@ -2018,6 +2021,10 @@ static int i915_gmch_probe(struct drm_device *dev, | |||
| 2018 | 2021 | ||
| 2019 | static void i915_gmch_remove(struct i915_address_space *vm) | 2022 | static void i915_gmch_remove(struct i915_address_space *vm) |
| 2020 | { | 2023 | { |
| 2024 | if (drm_mm_initialized(&vm->mm)) { | ||
| 2025 | drm_mm_takedown(&vm->mm); | ||
| 2026 | list_del(&vm->global_link); | ||
| 2027 | } | ||
| 2021 | intel_gmch_remove(); | 2028 | intel_gmch_remove(); |
| 2022 | } | 2029 | } |
| 2023 | 2030 | ||
