Module Name: src
Committed By: riastradh
Date: Wed Aug 6 22:12:51 UTC 2014
Modified Files:
src/sys/external/bsd/drm2/dist/drm/radeon: radeon_fence.c
Log Message:
radeon_fence_signaled needs to take the fence lock.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c:1.4 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c:1.4 Wed Aug 6 12:47:13 2014
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c Wed Aug 6 22:12:51 2014
@@ -265,13 +265,17 @@ bool radeon_fence_signaled(struct radeon
if (!fence) {
return true;
}
+ spin_lock(&fence->rdev->fence_lock);
if (fence->seq == RADEON_FENCE_SIGNALED_SEQ) {
+ spin_unlock(&fence->rdev->fence_lock);
return true;
}
if (radeon_fence_seq_signaled(fence->rdev, fence->seq, fence->ring)) {
fence->seq = RADEON_FENCE_SIGNALED_SEQ;
+ spin_unlock(&fence->rdev->fence_lock);
return true;
}
+ spin_unlock(&fence->rdev->fence_lock);
return false;
}