diff options
author | Eric Anholt <eric@anholt.net> | 2016-01-25 14:32:41 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2016-02-16 12:20:59 -0800 |
commit | 13cf8909ead67e313ea203ee524b3cf4b09b3c9d (patch) | |
tree | 0c2f86ae5710d83110403bbc7079e67dbfc24f93 /drivers/gpu | |
parent | 2c68f1fcfb9cfc10deff9bc59774aa331a6fabd2 (diff) | |
download | linux-13cf8909ead67e313ea203ee524b3cf4b09b3c9d.tar.bz2 |
drm/vc4: Fix -ERESTARTSYS error return from BO waits.
This caused the wait ioctls to claim that waiting had completed when
we actually got interrupted by a signal before it was done. Fixes
broken rendering throttling that produced serious lag in X window
dragging.
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_gem.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c index 3bf679d367a1..15619dbf34ca 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -340,12 +340,10 @@ vc4_wait_for_seqno(struct drm_device *dev, uint64_t seqno, uint64_t timeout_ns, finish_wait(&vc4->job_wait_queue, &wait); trace_vc4_wait_for_seqno_end(dev, seqno); - if (ret && ret != -ERESTARTSYS) { + if (ret && ret != -ERESTARTSYS) DRM_ERROR("timeout waiting for render thread idle\n"); - return ret; - } - return 0; + return ret; } static void |