retval = videobuf_waiton(q->read_buf,0,0); if (0 == retval) { 
retval = videobuf_waiton(q->read_buf,0,0); if (0 == retval) { 
videobuf_read_zerocopy(struct videobuf_queue *q, char __user *data,		       size_t count, loff_t *ppos){	enum v4l2_field field;	unsigned long flags;        int retval;        /* setup stuff */	retval = -ENOMEM;	q->read_buf = videobuf_alloc(q->msize);	if (NULL == q->read_buf)		goto done;	q->read_buf->memory = V4L2_MEMORY_USERPTR;	q->read_buf->baddr  = (unsigned long)data;        q->read_buf->bsize  = count;	field = videobuf_next_field(q);	retval = q->ops->buf_prepare(q,q->read_buf,field);	if (0 != retval)		goto done;        /* start capture & wait */	spin_lock_irqsave(q->irqlock,flags);	q->ops->buf_queue(q,q->read_buf);	spin_unlock_irqrestore(q->irqlock,flags);        retval = videobuf_waiton(q->read_buf,0,0);        if (0 == retval) {		videobuf_dma_pci_sync(q->pci,&q->read_buf->dma);		if (STATE_ERROR == q->read_buf->state)			retval = -EIO;		else			retval = q->read_buf->size;	} done:	/* cleanup */	q->ops->buf_release(q,q->read_buf);	kfree(q->read_buf);	q->read_buf = NULL;	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4ac97914c6c35f6bf132071c718e034d0846b9f5/video-buf.c/clean/drivers/media/video/video-buf.c