drm/i915: Make WAIT_IOCTL negative timeouts be indefinite again
This fixes a regression from
commit 5ed0bdf21a
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Wed Jul 16 21:05:06 2014 +0000
drm: i915: Use nsec based interfaces
that made a negative timeout return immediately rather than the
previously defined behaviour of waiting indefinitely.
Testcase: igt/gem_wait
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89494
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Cc: Kristian Høgsberg <krh@bitplanet.net>
Cc: stable@vger.kernel.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
[Jani: fixed a checkpatch complaint about whitespace.]
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
6c51d46f13
commit
762e45836a
|
@ -2936,9 +2936,9 @@ i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
|
|||
req = obj->last_read_req;
|
||||
|
||||
/* Do this after OLR check to make sure we make forward progress polling
|
||||
* on this IOCTL with a timeout <=0 (like busy ioctl)
|
||||
* on this IOCTL with a timeout == 0 (like busy ioctl)
|
||||
*/
|
||||
if (args->timeout_ns <= 0) {
|
||||
if (args->timeout_ns == 0) {
|
||||
ret = -ETIME;
|
||||
goto out;
|
||||
}
|
||||
|
@ -2948,7 +2948,8 @@ i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
|
|||
i915_gem_request_reference(req);
|
||||
mutex_unlock(&dev->struct_mutex);
|
||||
|
||||
ret = __i915_wait_request(req, reset_counter, true, &args->timeout_ns,
|
||||
ret = __i915_wait_request(req, reset_counter, true,
|
||||
args->timeout_ns > 0 ? &args->timeout_ns : NULL,
|
||||
file->driver_priv);
|
||||
mutex_lock(&dev->struct_mutex);
|
||||
i915_gem_request_unreference(req);
|
||||
|
|
Loading…
Reference in New Issue