diff options
author | Dave Airlie <airlied@redhat.com> | 2015-12-08 11:04:26 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-12-08 11:04:26 +1000 |
commit | e876b41ab074561d65f213bf5e0fc68cf5bc7380 (patch) | |
tree | 5bcbd7e4f7b6ac2a34e61011f8eb2cde90bf8603 /drivers/gpu/drm/i915/i915_gem.c | |
parent | 47c0fd72822159eb501411f975f5672a0bf7a7fb (diff) | |
parent | 527e9316f8ec44bd53d90fb9f611fa7ffff52bb9 (diff) | |
download | op-kernel-dev-e876b41ab074561d65f213bf5e0fc68cf5bc7380.zip op-kernel-dev-e876b41ab074561d65f213bf5e0fc68cf5bc7380.tar.gz |
Back merge tag 'v4.4-rc4' into drm-next
We've picked up a few conflicts and it would be nice
to resolve them before we move onwards.
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 33adc8f..a6997a8 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1210,8 +1210,16 @@ int __i915_wait_request(struct drm_i915_gem_request *req, if (i915_gem_request_completed(req, true)) return 0; - timeout_expire = timeout ? - jiffies + nsecs_to_jiffies_timeout((u64)*timeout) : 0; + timeout_expire = 0; + if (timeout) { + if (WARN_ON(*timeout < 0)) + return -EINVAL; + + if (*timeout == 0) + return -ETIME; + + timeout_expire = jiffies + nsecs_to_jiffies_timeout(*timeout); + } if (INTEL_INFO(dev_priv)->gen >= 6) gen6_rps_boost(dev_priv, rps, req->emitted_jiffies); |