ilo: fix intel_bo_wait() on kernel 3.17
authorChia-I Wu <olvaffe@gmail.com>
Wed, 5 Nov 2014 07:27:42 +0000 (15:27 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Thu, 6 Nov 2014 02:26:34 +0000 (10:26 +0800)
drm_intel_gem_bo_wait() with negative timeout is broken on kernel 3.17.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
src/gallium/winsys/intel/drm/intel_drm_winsys.c

index 7b542dcff37d1b960ffdf50f990d73dcaca7254b..9b94ac6b3a68fa6e420e151876ad1ace4f060b39 100644 (file)
@@ -610,7 +610,13 @@ intel_bo_wait(struct intel_bo *bo, int64_t timeout)
 {
    int err;
 
-   err = drm_intel_gem_bo_wait(gem_bo(bo), timeout);
+   if (timeout >= 0) {
+      err = drm_intel_gem_bo_wait(gem_bo(bo), timeout);
+   } else {
+      drm_intel_bo_wait_rendering(gem_bo(bo));
+      err = 0;
+   }
+
    /* consider the bo idle on errors */
    if (err && err != -ETIME)
       err = 0;