aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-core/i915_gem.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/linux-core/i915_gem.c b/linux-core/i915_gem.c
index e01823fb..94e2e477 100644
--- a/linux-core/i915_gem.c
+++ b/linux-core/i915_gem.c
@@ -478,14 +478,19 @@ i915_gem_evict_something(struct drm_device *dev)
struct drm_i915_gem_object,
list);
} else if (!list_empty(&dev_priv->mm.active_list)) {
+ int found = 0;
+
/* If there's nothing unused and ready, grab the first
* unpinned object from the currently executing list.
*/
list_for_each_entry(obj_priv, &dev_priv->mm.active_list,
- list)
- if (obj_priv->pin_count == 0)
+ list) {
+ if (obj_priv->pin_count == 0) {
+ found = 1;
break;
- if (!obj_priv)
+ }
+ }
+ if (!found)
return -ENOMEM;
} else {
return -ENOMEM;