drm/i915/fbc: make sure we cancel the work function at fbc_disable
Just to be sure nothing will survive a module unload. We need to do this after the unlock in order to make sure the function won't get stuck trying to grab the lock we already own while we wait for it to finish. Reported-by: Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1453210558-7875-15-git-send-email-paulo.r.zanoni@intel.com
This commit is contained in:
parent
c937ab3e58
commit
65c7600f07
1 changed files with 4 additions and 0 deletions
|
|
@ -1098,6 +1098,8 @@ void intel_fbc_disable(struct intel_crtc *crtc)
|
|||
__intel_fbc_disable(dev_priv);
|
||||
}
|
||||
mutex_unlock(&fbc->lock);
|
||||
|
||||
cancel_work_sync(&fbc->work.work);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1117,6 +1119,8 @@ void intel_fbc_global_disable(struct drm_i915_private *dev_priv)
|
|||
if (fbc->enabled)
|
||||
__intel_fbc_disable(dev_priv);
|
||||
mutex_unlock(&fbc->lock);
|
||||
|
||||
cancel_work_sync(&fbc->work.work);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue