Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 217888
b: refs/heads/master
c: 67e77c5
h: refs/heads/master
v: v3
  • Loading branch information
Daniel Vetter authored and Chris Wilson committed Sep 8, 2010
1 parent c5e5b8c commit f8bd73b
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3dec0095f71e7d00b7f6180229fd32a2d0a6ce8d
refs/heads/master: 67e77c5ae8bff6f805d207541f1315051248a87b
3 changes: 3 additions & 0 deletions trunk/drivers/gpu/drm/i915/i915_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -2292,6 +2292,9 @@ int i915_driver_unload(struct drm_device *dev)
intel_opregion_free(dev, 0);

if (drm_core_check_feature(dev, DRIVER_MODESET)) {
/* Flush any outstanding unpin_work. */
flush_workqueue(dev_priv->wq);

i915_gem_free_all_phys_object(dev);

mutex_lock(&dev->struct_mutex);
Expand Down
14 changes: 14 additions & 0 deletions trunk/drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -4850,8 +4850,22 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj)
static void intel_crtc_destroy(struct drm_crtc *crtc)
{
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
struct drm_device *dev = crtc->dev;
struct intel_unpin_work *work;
unsigned long flags;

spin_lock_irqsave(&dev->event_lock, flags);
work = intel_crtc->unpin_work;
intel_crtc->unpin_work = NULL;
spin_unlock_irqrestore(&dev->event_lock, flags);

if (work) {
cancel_work_sync(&work->work);
kfree(work);
}

drm_crtc_cleanup(crtc);

kfree(intel_crtc);
}

Expand Down

0 comments on commit f8bd73b

Please sign in to comment.