Message ID | 5666EEC8.2000403@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Dec 08, 2015 at 03:52:56PM +0100, Maarten Lankhorst wrote: > This fixes a spurious warning from an integer overflow on 64-bits systems. > The function may return MAX_SCHEDULE_TIMEOUT which gets truncated to -1. > > Explicitly handling this by casting to lret fixes it. > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Reported-and-tested-by: Joseph Yasi <joe.yasi@gmail.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b59a2d87b20e..06ba2bb36ce2 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -13686,13 +13686,15 @@ intel_prepare_plane_fb(struct drm_plane *plane, > > /* For framebuffer backed by dmabuf, wait for fence */ > if (obj && obj->base.dma_buf) { > - ret = reservation_object_wait_timeout_rcu(obj->base.dma_buf->resv, > + long lret; > + > + lret = reservation_object_wait_timeout_rcu(obj->base.dma_buf->resv, > false, true, > MAX_SCHEDULE_TIMEOUT); > - if (ret == -ERESTARTSYS) > - return ret; > + if (lret == -ERESTARTSYS) > + return lret; > > - WARN_ON(ret < 0); > + WARN(lret < 0, "waiting returns %li\n", lret); > } > > if (!obj) { > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index b59a2d87b20e..06ba2bb36ce2 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -13686,13 +13686,15 @@ intel_prepare_plane_fb(struct drm_plane *plane, /* For framebuffer backed by dmabuf, wait for fence */ if (obj && obj->base.dma_buf) { - ret = reservation_object_wait_timeout_rcu(obj->base.dma_buf->resv, + long lret; + + lret = reservation_object_wait_timeout_rcu(obj->base.dma_buf->resv, false, true, MAX_SCHEDULE_TIMEOUT); - if (ret == -ERESTARTSYS) - return ret; + if (lret == -ERESTARTSYS) + return lret; - WARN_ON(ret < 0); + WARN(lret < 0, "waiting returns %li\n", lret); } if (!obj) {
This fixes a spurious warning from an integer overflow on 64-bits systems. The function may return MAX_SCHEDULE_TIMEOUT which gets truncated to -1. Explicitly handling this by casting to lret fixes it. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reported-and-tested-by: Joseph Yasi <joe.yasi@gmail.com> ---