diff options
author | Dave Airlie <airlied@redhat.com> | 2009-12-09 00:32:23 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-12-10 00:09:04 -0500 |
commit | 2e7b6f7fa62d92d941c626f8ae45f5cd75a52d55 (patch) | |
tree | e8fe30c94c4cb51f0bdc3f30c43a58c437fb8391 /drivers | |
parent | 5cc6fbab9da5680e7e5d2507d0f0c2c52ff18031 (diff) |
drm/radeon/kms: fix return value from fence function.
We only want to return here for errors, the wait functions return
a positive timeout otherwise, which gets back to userspace and
causes X to crash here.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_fence.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c index 78743cd70433..cb4cd97ae39f 100644 --- a/drivers/gpu/drm/radeon/radeon_fence.c +++ b/drivers/gpu/drm/radeon/radeon_fence.c | |||
@@ -197,7 +197,7 @@ retry: | |||
197 | r = wait_event_interruptible_timeout(rdev->fence_drv.queue, | 197 | r = wait_event_interruptible_timeout(rdev->fence_drv.queue, |
198 | radeon_fence_signaled(fence), timeout); | 198 | radeon_fence_signaled(fence), timeout); |
199 | radeon_irq_kms_sw_irq_put(rdev); | 199 | radeon_irq_kms_sw_irq_put(rdev); |
200 | if (unlikely(r != 0)) | 200 | if (unlikely(r < 0)) |
201 | return r; | 201 | return r; |
202 | } else { | 202 | } else { |
203 | radeon_irq_kms_sw_irq_get(rdev); | 203 | radeon_irq_kms_sw_irq_get(rdev); |