Commit 186507e9 authored by Ben Widawsky's avatar Ben Widawsky Committed by Daniel Vetter

drm/i915: Assert mutex_is_locked on context lookup

Because our context refcounting doesn't grab a ref at lookup time, it is
unsafe to do so without the lock.

NOTE: We don't have an easy way to put the assertion in the lookup
function which is where this really belongs. Context switching is good
enough because it actually asserts even more correctness by protecting
the default_context.
Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
[danvet: s/BUG/WARN/]
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent a1520318
...@@ -463,6 +463,8 @@ int i915_switch_context(struct intel_ring_buffer *ring, ...@@ -463,6 +463,8 @@ int i915_switch_context(struct intel_ring_buffer *ring,
if (dev_priv->hw_contexts_disabled) if (dev_priv->hw_contexts_disabled)
return 0; return 0;
WARN_ON(!mutex_is_locked(&dev_priv->dev->struct_mutex));
if (ring != &dev_priv->ring[RCS]) if (ring != &dev_priv->ring[RCS])
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment