diff options
| author | Brandon Philips <brandon@ifup.org> | 2007-11-19 13:10:48 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-12-11 15:08:12 -0500 |
| commit | 820eacd84cff23b76693f4be1e28feb672f4488f (patch) | |
| tree | b6bd6702ae3d13ae9043bbf54034b1925bc7b927 /drivers | |
| parent | 053fcb6014eef31c2674d344c704118e0ac229ef (diff) | |
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>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/media/common/saa7146_video.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/media/common/saa7146_video.c b/drivers/media/common/saa7146_video.c index 7cc4213ba56b..ae36d101006b 100644 --- a/drivers/media/common/saa7146_video.c +++ b/drivers/media/common/saa7146_video.c | |||
| @@ -1205,13 +1205,10 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int | |||
| 1205 | DEB_D(("VIDIOCGMBUF \n")); | 1205 | DEB_D(("VIDIOCGMBUF \n")); |
| 1206 | 1206 | ||
| 1207 | q = &fh->video_q; | 1207 | q = &fh->video_q; |
| 1208 | mutex_lock(&q->lock); | ||
| 1209 | err = videobuf_mmap_setup(q,gbuffers,gbufsize, | 1208 | err = videobuf_mmap_setup(q,gbuffers,gbufsize, |
| 1210 | V4L2_MEMORY_MMAP); | 1209 | V4L2_MEMORY_MMAP); |
| 1211 | if (err < 0) { | 1210 | if (err < 0) |
| 1212 | mutex_unlock(&q->lock); | ||
| 1213 | return err; | 1211 | return err; |
| 1214 | } | ||
| 1215 | 1212 | ||
| 1216 | gbuffers = err; | 1213 | gbuffers = err; |
| 1217 | memset(mbuf,0,sizeof(*mbuf)); | 1214 | memset(mbuf,0,sizeof(*mbuf)); |
| @@ -1219,7 +1216,6 @@ int saa7146_video_do_ioctl(struct inode *inode, struct file *file, unsigned int | |||
| 1219 | mbuf->size = gbuffers * gbufsize; | 1216 | mbuf->size = gbuffers * gbufsize; |
| 1220 | for (i = 0; i < gbuffers; i++) | 1217 | for (i = 0; i < gbuffers; i++) |
| 1221 | mbuf->offsets[i] = i * gbufsize; | 1218 | mbuf->offsets[i] = i * gbufsize; |
| 1222 | mutex_unlock(&q->lock); | ||
| 1223 | return 0; | 1219 | return 0; |
| 1224 | } | 1220 | } |
| 1225 | #endif | 1221 | #endif |
