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

Commit 09882f00 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (9325): ivtv: switch to unlocked_ioctl.

parent d5fbf32f
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -1756,12 +1756,12 @@ static int ivtv_default(struct file *file, void *fh, int cmd, void *arg)
	return 0;
}

static int ivtv_serialized_ioctl(struct ivtv *itv, struct inode *inode, struct file *filp,
static long ivtv_serialized_ioctl(struct ivtv *itv, struct file *filp,
		unsigned int cmd, unsigned long arg)
{
	struct video_device *vfd = video_devdata(filp);
	struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data;
	int ret;
	long ret;

	/* Filter dvb ioctls that cannot be handled by the v4l ioctl framework */
	switch (cmd) {
@@ -1830,20 +1830,19 @@ static int ivtv_serialized_ioctl(struct ivtv *itv, struct inode *inode, struct f

	if (ivtv_debug & IVTV_DBGFLG_IOCTL)
		vfd->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG;
	ret = video_ioctl2(inode, filp, cmd, arg);
	ret = video_ioctl2_unlocked(filp, cmd, arg);
	vfd->debug = 0;
	return ret;
}

int ivtv_v4l2_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
		    unsigned long arg)
long ivtv_v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
	struct ivtv_open_id *id = (struct ivtv_open_id *)filp->private_data;
	struct ivtv *itv = id->itv;
	int res;
	long res;

	mutex_lock(&itv->serialize_lock);
	res = ivtv_serialized_ioctl(itv, inode, filp, cmd, arg);
	res = ivtv_serialized_ioctl(itv, filp, cmd, arg);
	mutex_unlock(&itv->serialize_lock);
	return res;
}
+1 −2
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ void ivtv_set_funcs(struct video_device *vdev);
int ivtv_s_std(struct file *file, void *fh, v4l2_std_id *std);
int ivtv_s_frequency(struct file *file, void *fh, struct v4l2_frequency *vf);
int ivtv_s_input(struct file *file, void *fh, unsigned int inp);
int ivtv_v4l2_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
		    unsigned long arg);
long ivtv_v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);

#endif
+2 −2
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ static const struct file_operations ivtv_v4l2_enc_fops = {
	.read = ivtv_v4l2_read,
	.write = ivtv_v4l2_write,
	.open = ivtv_v4l2_open,
	.ioctl = ivtv_v4l2_ioctl,
	.unlocked_ioctl = ivtv_v4l2_ioctl,
	.compat_ioctl = v4l_compat_ioctl32,
	.release = ivtv_v4l2_close,
	.poll = ivtv_v4l2_enc_poll,
@@ -59,7 +59,7 @@ static const struct file_operations ivtv_v4l2_dec_fops = {
	.read = ivtv_v4l2_read,
	.write = ivtv_v4l2_write,
	.open = ivtv_v4l2_open,
	.ioctl = ivtv_v4l2_ioctl,
	.unlocked_ioctl = ivtv_v4l2_ioctl,
	.compat_ioctl = v4l_compat_ioctl32,
	.release = ivtv_v4l2_close,
	.poll = ivtv_v4l2_dec_poll,