mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
drm/i915: First recheck for an empty fence register.
If we wait upon a request and successfully unbind a buffer occupying a fence register, then that slot will be freed and cause a NULL derefrence upon rescanning. Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
This commit is contained in:
parent
040aefa263
commit
9b2412f9ad
1 changed files with 1 additions and 1 deletions
|
|
@ -1580,6 +1580,7 @@ i915_gem_object_get_fence_reg(struct drm_gem_object *obj, bool write)
|
|||
}
|
||||
|
||||
/* First try to find a free reg */
|
||||
try_again:
|
||||
for (i = dev_priv->fence_reg_start; i < dev_priv->num_fence_regs; i++) {
|
||||
reg = &dev_priv->fence_regs[i];
|
||||
if (!reg->obj)
|
||||
|
|
@ -1591,7 +1592,6 @@ i915_gem_object_get_fence_reg(struct drm_gem_object *obj, bool write)
|
|||
struct drm_i915_gem_object *old_obj_priv = NULL;
|
||||
loff_t offset;
|
||||
|
||||
try_again:
|
||||
/* Could try to use LRU here instead... */
|
||||
for (i = dev_priv->fence_reg_start;
|
||||
i < dev_priv->num_fence_regs; i++) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue