|
@@ -349,8 +349,13 @@ int radeon_sa_bo_new(struct radeon_device *rdev,
|
|
|
/* see if we can skip over some allocations */
|
|
|
} while (radeon_sa_bo_next_hole(sa_manager, fences, tries));
|
|
|
|
|
|
+ for (i = 0; i < RADEON_NUM_RINGS; ++i)
|
|
|
+ radeon_fence_ref(fences[i]);
|
|
|
+
|
|
|
spin_unlock(&sa_manager->wq.lock);
|
|
|
r = radeon_fence_wait_any(rdev, fences, false);
|
|
|
+ for (i = 0; i < RADEON_NUM_RINGS; ++i)
|
|
|
+ radeon_fence_unref(&fences[i]);
|
|
|
spin_lock(&sa_manager->wq.lock);
|
|
|
/* if we have nothing to wait for block */
|
|
|
if (r == -ENOENT) {
|