Re: [PATCH 1/2] dma-fence: Clear fence->status during dma_fence_init()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 04, 2017 at 10:15:01AM +0100, Daniel Vetter wrote:
> On Tue, Jan 03, 2017 at 02:04:44PM +0000, Tvrtko Ursulin wrote:
> > 
> > On 03/01/2017 11:05, Chris Wilson wrote:
> > > As the fence->status is an optional field that may be set before
> > > dma_fence_signal() is called to convey that the fence completed with an
> > > error, we have to ensure that it is always set to zero on initialisation
> > > so that the typical use (i.e. unset) always flags a successful completion.
> > > 
> > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> > > ---
> > >  drivers/dma-buf/dma-fence.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> > > index 3444f293ad4a..9130f790ebf3 100644
> > > --- a/drivers/dma-buf/dma-fence.c
> > > +++ b/drivers/dma-buf/dma-fence.c
> > > @@ -534,6 +534,7 @@ dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops,
> > >  	fence->context = context;
> > >  	fence->seqno = seqno;
> > >  	fence->flags = 0UL;
> > > +	fence->status = 0;
> > > 
> > >  	trace_dma_fence_init(fence);
> > >  }
> > > 
> > 
> > Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
> 
> Looking at existing users there's only the sync_file stuff. And that gets
> it wrong, because afaics no one ever sets fence->status to anything
> useful. But sync_file blindly assumes it's correct.

In terms of doc, sync_file is using it correctly, and dma-fence isn't
living up to its doc. The documented behaviour (sync_file) seems useful.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux