Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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

parent 7d4f0b81
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -617,10 +617,8 @@ static void res_free(struct em28xx_fh *fh)
{
	struct em28xx    *dev = fh->dev;

	mutex_lock(&dev->lock);
	fh->stream_on = 0;
	dev->stream_on = 0;
	mutex_unlock(&dev->lock);
}

/*
@@ -1282,7 +1280,9 @@ static int vidioc_streamoff(struct file *file, void *priv,
		return -EINVAL;

	videobuf_streamoff(&fh->vb_vidq);
	mutex_lock(&dev->lock);
	res_free(fh);
	mutex_unlock(&dev->lock);

	return 0;
}
@@ -1677,11 +1677,10 @@ static int em28xx_v4l2_close(struct inode *inode, struct file *filp)
	em28xx_videodbg("users=%d\n", dev->users);


	mutex_lock(&dev->lock);
	if (res_check(fh))
		res_free(fh);

	mutex_lock(&dev->lock);

	if (dev->users == 1) {
		videobuf_stop(&fh->vb_vidq);
		videobuf_mmap_free(&fh->vb_vidq);