} 
static unsigned int vino_poll(struct file *file, poll_table *pt){	struct video_device *dev = video_devdata(file);	struct vino_channel_settings *vcs = video_get_drvdata(dev);	unsigned int outgoing;	unsigned int ret = 0;	// lock mutex (?)	// TODO: this has to be corrected for different read modes	dprintk("poll():\n");	if (vino_queue_get_outgoing(&vcs->fb_queue, &outgoing)) {		dprintk("poll(): vino_queue_get_outgoing() failed\n");		ret = POLLERR;		goto error;	}	if (outgoing > 0)		goto over;	poll_wait(file, &vcs->fb_queue.frame_wait_queue, pt);	if (vino_queue_get_outgoing(&vcs->fb_queue, &outgoing)) {		dprintk("poll(): vino_queue_get_outgoing() failed\n");		ret = POLLERR;		goto error;	}over:	dprintk("poll(): data %savailable\n",		(outgoing > 0) ? "" : "not ");	if (outgoing > 0) {		ret = POLLIN | POLLRDNORM;	}error:	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a637a114f36b94a1ad8b9867f43bac0414958420/vino.c/buggy/drivers/media/video/vino.c