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

Commit 9fc4d219 authored by Russell King's avatar Russell King Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (11329): Fix buglets in v4l1 compatibility layer



The following patch fixes a few bugs I've noticed in the V4L1
compatibility layer:
- VIDEO_MODE_AUTO for get/set input ioctls was not being handled
- wrong V4L2 ioctl being used in v4l1_compat_select_tuner

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 80801da8
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -575,6 +575,8 @@ static noinline long v4l1_compat_get_input_info(
			chan->norm = VIDEO_MODE_NTSC;
		if (sid & V4L2_STD_SECAM)
			chan->norm = VIDEO_MODE_SECAM;
		if (sid == V4L2_STD_ALL)
			chan->norm = VIDEO_MODE_AUTO;
	}
done:
	return err;
@@ -601,6 +603,9 @@ static noinline long v4l1_compat_set_input(
	case VIDEO_MODE_SECAM:
		sid = V4L2_STD_SECAM;
		break;
	case VIDEO_MODE_AUTO:
		sid = V4L2_STD_ALL;
		break;
	}
	if (0 != sid) {
		err = drv(file, VIDIOC_S_STD, &sid);
@@ -804,9 +809,9 @@ static noinline long v4l1_compat_select_tuner(

	t.index = tun->tuner;

	err = drv(file, VIDIOC_S_INPUT, &t);
	err = drv(file, VIDIOC_S_TUNER, &t);
	if (err < 0)
		dprintk("VIDIOCSTUNER / VIDIOC_S_INPUT: %ld\n", err);
		dprintk("VIDIOCSTUNER / VIDIOC_S_TUNER: %ld\n", err);
	return err;
}