From b6b28e59f3a63abba79eda2ef1de8b4e76e8cdc8 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 10 Dec 2007 05:43:38 -0200 Subject: Avoid troubles when using multiple devices From: Mauro Carvalho Chehab mv_count is a counter used to move the vertical bars. Before this patch, it where a static var. This works fine for just one device. However, when using multiple devices, every device would increment it. This patch moves it to its correct place: struct vivi_dev. So, now, each device has its own data. Signed-off-by: Mauro Carvalho Chehab --- linux/drivers/media/video/vivi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'linux/drivers') diff --git a/linux/drivers/media/video/vivi.c b/linux/drivers/media/video/vivi.c index 64fc5ee8b..abe5228a0 100644 --- a/linux/drivers/media/video/vivi.c +++ b/linux/drivers/media/video/vivi.c @@ -195,6 +195,8 @@ struct vivi_dev { /* Several counters */ int h,m,s,us,jiffies; char timestr[13]; + + int mv_count; /* Controls bars movement */ }; struct vivi_fh { @@ -356,14 +358,12 @@ static void vivi_fillbuff(struct vivi_dev *dev,struct vivi_buffer *buf) struct timeval ts; char *tmpbuf = kmalloc(wmax*2,GFP_KERNEL); void *vbuf=videobuf_to_vmalloc (&buf->vb); - /* FIXME: move to dev struct */ - static int mv_count=0; if (!tmpbuf) return; for (h=0;hmv_count, dev->timestr); /* FIXME: replacing to __copy_to_user */ if (copy_to_user(vbuf+pos,tmpbuf,wmax*2)!=0) @@ -371,7 +371,7 @@ static void vivi_fillbuff(struct vivi_dev *dev,struct vivi_buffer *buf) pos += wmax*2; } - mv_count++; + dev->mv_count++; kfree(tmpbuf); -- cgit v1.2.3