On Wed, 2010-10-06 at 21:24 -0700, Keith Packard wrote:
> A physically mapped hardware status page is allocated at driver load
> time but was never freed. Call the existing code to free this page at
> driver unload time on hardware which uses this kind.
the free_hws gets called after we disappear the mmio mapping for the
registers. it then writes a register after killing the hws, and oopses.

Dave.

> 
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---
>  drivers/gpu/drm/i915/i915_dma.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 9d67b48..98bf1f0 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -2305,6 +2305,9 @@ int i915_driver_unload(struct drm_device *dev)
>               intel_cleanup_overlay(dev);
>       }
>  
> +     if (!I915_NEED_GFX_HWS(dev))
> +             i915_free_hws(dev);
> +
>       intel_teardown_mchbar(dev);
>  
>       pci_dev_put(dev_priv->bridge_dev);


Reply via email to