Skip to content

Commit

Permalink
drm/i915: unload: don't leak error state
Browse files Browse the repository at this point in the history
With kms, interrupts now get disabled in the modesetting cleanup. So
free the error state afterwards, it currently gets allocated in
the interrupt handler.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
  • Loading branch information
Daniel Vetter authored and Chris Wilson committed Sep 8, 2010
1 parent 6c0d935 commit a8b4899
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/i915/i915_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -2250,8 +2250,6 @@ int i915_driver_unload(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;

i915_destroy_error_state(dev);

spin_lock(&mchdev_lock);
i915_mch_dev = NULL;
spin_unlock(&mchdev_lock);
Expand Down Expand Up @@ -2280,8 +2278,10 @@ int i915_driver_unload(struct drm_device *dev)
vga_client_register(dev->pdev, NULL, NULL, NULL);
}

/* Free error state after interrupts are fully disabled. */
del_timer_sync(&dev_priv->hangcheck_timer);
cancel_work_sync(&dev_priv->error_work);
i915_destroy_error_state(dev);

if (dev->pdev->msi_enabled)
pci_disable_msi(dev->pdev);
Expand Down

0 comments on commit a8b4899

Please sign in to comment.