Em 05-07-2012 19:36, Sylwester Nawrocki escreveu: > On 07/06/2012 12:11 AM, Mauro Carvalho Chehab wrote: >>> +static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p) >>> +{ >>> + struct stk1160 *dev = video_drvdata(file); >>> + >>> + if (!stk1160_is_owner(dev, file)) >>> + return -EBUSY; >>> + >>> + return vb2_dqbuf(&dev->vb_vidq, p, file->f_flags& O_NONBLOCK); >> >> Why to use O_NONBLOCK here? it should be doing whatever userspace wants. > > This is OK, since the third argument to vb2_dqbuf() is a boolean indicating > whether this call should be blocking or not. And a "& O_NONBLOCK" masks this > information out from file->f_flags. Ah! OK then. It might be better to initialize it during vb2 initialization, at open, instead of requiring this argument every time vb_dqbuf() is called. Btw, just noticed a minor issue: an space is required before the "&" operator. Regards, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html