if (vino_is_capturing(vcs)) { dprintk("busy, capturing\n"); return -EBUSY; }  
static int vino_v4l2_reqbufs(struct vino_channel_settings *vcs,			     struct v4l2_requestbuffers *rb){	if (vcs->reading)		return -EBUSY;	switch (rb->type) {	case V4L2_BUF_TYPE_VIDEO_CAPTURE: {		// TODO: check queue type		if (rb->memory != V4L2_MEMORY_MMAP) {			dprintk("type not mmap\n");			return -EINVAL;		}		if (vino_is_capturing(vcs)) {			dprintk("busy, capturing\n");			return -EBUSY;		}		dprintk("count = %d\n", rb->count);		if (rb->count > 0) {			if (vino_queue_has_mapped_buffers(&vcs->fb_queue)) {				dprintk("busy, buffers still mapped\n");				return -EBUSY;			} else {				vino_queue_free(&vcs->fb_queue);				vino_queue_init(&vcs->fb_queue, &rb->count);			}		} else {			vino_capture_stop(vcs);			vino_queue_free(&vcs->fb_queue);		}		break;	}	case V4L2_BUF_TYPE_VIDEO_OVERLAY:	default:		return -EINVAL;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a637a114f36b94a1ad8b9867f43bac0414958420/vino.c/buggy/drivers/media/video/vino.c