aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2010-10-10 13:54:08 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2010-10-19 04:16:35 -0400
commit701394cc534a4a7883ddc4f8f82fb438b3d664ff (patch)
tree249ba3988a902be66e701f4acc9cf1a1f5ba8a55
parent939fe4d7d6e2c92370ca5d1fb70e81043f5ff8d9 (diff)
drm/i915: Fix oops on HWS unload
Freeing the Hardware Status Page was writing to the HWS register in order to disable the GPU writing to the HWS page. Unfortunately, we were writing to the mmio register after unmapping the register space, hence the oops. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index f451af69d437..2caf43de8a6a 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -2133,9 +2133,6 @@ int i915_driver_unload(struct drm_device *dev)
2133 if (dev->pdev->msi_enabled) 2133 if (dev->pdev->msi_enabled)
2134 pci_disable_msi(dev->pdev); 2134 pci_disable_msi(dev->pdev);
2135 2135
2136 if (dev_priv->regs != NULL)
2137 iounmap(dev_priv->regs);
2138
2139 intel_opregion_fini(dev); 2136 intel_opregion_fini(dev);
2140 2137
2141 if (drm_core_check_feature(dev, DRIVER_MODESET)) { 2138 if (drm_core_check_feature(dev, DRIVER_MODESET)) {
@@ -2157,6 +2154,9 @@ int i915_driver_unload(struct drm_device *dev)
2157 i915_free_hws(dev); 2154 i915_free_hws(dev);
2158 } 2155 }
2159 2156
2157 if (dev_priv->regs != NULL)
2158 iounmap(dev_priv->regs);
2159
2160 intel_teardown_gmbus(dev); 2160 intel_teardown_gmbus(dev);
2161 intel_teardown_mchbar(dev); 2161 intel_teardown_mchbar(dev);
2162 2162