V4L/DVB (6615): V4L: Fix VIDIOCGMBUF locking in saa7146
Fallout from videobuf_mmap_setup() locking fixes. Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
053fcb6014
commit
820eacd84c
1 changed files with 1 additions and 5 deletions
|
@ -1205,13 +1205,10 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
|
||||||
DEB_D(("VIDIOCGMBUF \n"));
|
DEB_D(("VIDIOCGMBUF \n"));
|
||||||
|
|
||||||
q = &fh->video_q;
|
q = &fh->video_q;
|
||||||
mutex_lock(&q->lock);
|
|
||||||
err = videobuf_mmap_setup(q,gbuffers,gbufsize,
|
err = videobuf_mmap_setup(q,gbuffers,gbufsize,
|
||||||
V4L2_MEMORY_MMAP);
|
V4L2_MEMORY_MMAP);
|
||||||
if (err < 0) {
|
if (err < 0)
|
||||||
mutex_unlock(&q->lock);
|
|
||||||
return err;
|
return err;
|
||||||
}
|
|
||||||
|
|
||||||
gbuffers = err;
|
gbuffers = err;
|
||||||
memset(mbuf,0,sizeof(*mbuf));
|
memset(mbuf,0,sizeof(*mbuf));
|
||||||
|
@ -1219,7 +1216,6 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int
|
||||||
mbuf->size = gbuffers * gbufsize;
|
mbuf->size = gbuffers * gbufsize;
|
||||||
for (i = 0; i < gbuffers; i++)
|
for (i = 0; i < gbuffers; i++)
|
||||||
mbuf->offsets[i] = i * gbufsize;
|
mbuf->offsets[i] = i * gbufsize;
|
||||||
mutex_unlock(&q->lock);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue