Commit 7831364f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (9909): em28xx: move dev->lock from res_free to the caller routines

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 7d4f0b81
...@@ -617,10 +617,8 @@ static void res_free(struct em28xx_fh *fh) ...@@ -617,10 +617,8 @@ static void res_free(struct em28xx_fh *fh)
{ {
struct em28xx *dev = fh->dev; struct em28xx *dev = fh->dev;
mutex_lock(&dev->lock);
fh->stream_on = 0; fh->stream_on = 0;
dev->stream_on = 0; dev->stream_on = 0;
mutex_unlock(&dev->lock);
} }
/* /*
...@@ -1282,7 +1280,9 @@ static int vidioc_streamoff(struct file *file, void *priv, ...@@ -1282,7 +1280,9 @@ static int vidioc_streamoff(struct file *file, void *priv,
return -EINVAL; return -EINVAL;
videobuf_streamoff(&fh->vb_vidq); videobuf_streamoff(&fh->vb_vidq);
mutex_lock(&dev->lock);
res_free(fh); res_free(fh);
mutex_unlock(&dev->lock);
return 0; return 0;
} }
...@@ -1677,11 +1677,10 @@ static int em28xx_v4l2_close(struct inode *inode, struct file *filp) ...@@ -1677,11 +1677,10 @@ static int em28xx_v4l2_close(struct inode *inode, struct file *filp)
em28xx_videodbg("users=%d\n", dev->users); em28xx_videodbg("users=%d\n", dev->users);
mutex_lock(&dev->lock);
if (res_check(fh)) if (res_check(fh))
res_free(fh); res_free(fh);
mutex_lock(&dev->lock);
if (dev->users == 1) { if (dev->users == 1) {
videobuf_stop(&fh->vb_vidq); videobuf_stop(&fh->vb_vidq);
videobuf_mmap_free(&fh->vb_vidq); videobuf_mmap_free(&fh->vb_vidq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment