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:
@@ -199,7 +199,7 @@ int r600_fence_wait(struct radeon_fence *fence, bool intr, bool lazy)
|
|||||||
schedule_timeout(1);
|
schedule_timeout(1);
|
||||||
|
|
||||||
if (intr && signal_pending(current)) {
|
if (intr && signal_pending(current)) {
|
||||||
ret = -ERESTART;
|
ret = -ERESTARTSYS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -225,8 +225,12 @@ int radeon_fence_wait(struct radeon_fence *fence, bool intr)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rdev->family >= CHIP_R600)
|
if (rdev->family >= CHIP_R600) {
|
||||||
return r600_fence_wait(fence, intr, 0);
|
r = r600_fence_wait(fence, intr, 0);
|
||||||
|
if (r == -ERESTARTSYS)
|
||||||
|
return -EBUSY;
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
retry:
|
retry:
|
||||||
cur_jiffies = jiffies;
|
cur_jiffies = jiffies;
|
||||||
|
Reference in New Issue
Block a user