drm/i915: Handle GPU hangs during fault gracefully.

Instead of killing the process, just return no page found and reschedule
the process giving the GPU some time to (hopefully) recover.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2010-11-07 09:18:22 +00:00
parent 75e9e9158f
commit 045e769ab6
1 changed files with 2 additions and 1 deletions

View File

@ -1340,11 +1340,12 @@ unlock:
mutex_unlock(&dev->struct_mutex);
switch (ret) {
case -EAGAIN:
set_need_resched();
case 0:
case -ERESTARTSYS:
return VM_FAULT_NOPAGE;
case -ENOMEM:
case -EAGAIN:
return VM_FAULT_OOM;
default:
return VM_FAULT_SIGBUS;