drm/radeon/kms: don't allow ERESTART to hit userspace.

the pre-r600 fence code returns ebusy if we get hit by a signal
so we should continue to do that.

Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie 2009-09-08 14:38:45 +10:00 committed by Dave Airlie
parent 620f37811d
commit c746e205f2

View File

@ -199,7 +199,7 @@ int r600_fence_wait(struct radeon_fence *fence, bool intr, bool lazy)
schedule_timeout(1);
if (intr && signal_pending(current)) {
ret = -ERESTART;
ret = -ERESTARTSYS;
break;
}
}
@ -225,8 +225,12 @@ int radeon_fence_wait(struct radeon_fence *fence, bool intr)
return 0;
}
if (rdev->family >= CHIP_R600)
return r600_fence_wait(fence, intr, 0);
if (rdev->family >= CHIP_R600) {
r = r600_fence_wait(fence, intr, 0);
if (r == -ERESTARTSYS)
return -EBUSY;
return r;
}
retry:
cur_jiffies = jiffies;