Skip to content

Commit

Permalink
V4L/DVB (6755): Avoid troubles when using multiple devices
Browse files Browse the repository at this point in the history
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 <mchehab@infradead.org>
  • Loading branch information
Mauro Carvalho Chehab committed Jan 25, 2008
1 parent 55712ff commit 025341d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/media/video/vivi.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,8 @@ struct vivi_dev {
/* Several counters */
int h,m,s,us,jiffies;
char timestr[13];

int mv_count; /* Controls bars movement */
};

struct vivi_fh {
Expand Down Expand Up @@ -327,22 +329,20 @@ 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;h<hmax;h++) {
gen_line(tmpbuf,0,wmax,hmax,h,mv_count,
gen_line(tmpbuf, 0, wmax, hmax, h, dev->mv_count,
dev->timestr);
/* FIXME: replacing to __copy_to_user */
if (copy_to_user(vbuf+pos,tmpbuf,wmax*2)!=0)
dprintk(2,"vivifill copy_to_user failed.\n");
pos += wmax*2;
}

mv_count++;
dev->mv_count++;

kfree(tmpbuf);

Expand Down

0 comments on commit 025341d

Please sign in to comment.