Em Fri, 17 Nov 2017 11:08:01 -0200
Gustavo Padovan <gust...@padovan.org> escreveu:

> 2017-11-17 Mauro Carvalho Chehab <mche...@osg.samsung.com>:
> 
> > Em Fri, 17 Nov 2017 15:49:23 +0900
> > Alexandre Courbot <acour...@chromium.org> escreveu:
> >   
> > > > @@ -178,6 +179,12 @@ static int vb2_queue_or_prepare_buf(struct 
> > > > vb2_queue *q, struct v4l2_buffer *b,
> > > >                 return -EINVAL;
> > > >         }
> > > >  
> > > > +       if ((b->fence_fd != 0 && b->fence_fd != -1) &&    
> > > 
> > > Why do we need to consider both values invalid? Can 0 ever be a valid 
> > > fence 
> > > fd?  
> > 
> > Programs that don't use fences will initialize reserved2/fence_fd field
> > at the uAPI call to zero.
> > 
> > So, I guess using fd=0 here could be a problem. Anyway, I would, instead,
> > do:
> > 
> >     if ((b->fence_fd < 1) &&
> >             ...
> > 
> > as other negative values are likely invalid as well.  
> 
> We are checking when the fence_fd is set but the flag wasn't. Checking
> for < 1 is exactly the opposite. so we keep as is or do it fence_fd > 0.

Ah, yes. Anyway, I would stick with:
        if ((b->fence_fd > 0) &&
                ...

> 
> Gustavo


-- 
Thanks,
Mauro

Reply via email to