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

Commit 0b1ffb53 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] zoran: remove bogus autodetect mode in set_norm



Currently, if the norm set is V4L2_STD_ALL, then autodetect the current
standard and use that. This is non-standard behavior, and in fact it hasn't
worked for a very long time: before s_std is called in this driver, the
v4l2 core will mask it with the tvnorms field. So even if the application
passes V4L2_STD_ALL, the zoran driver will always see a subset of that.
Since nobody ever complained about this we just remove this non-standard
functionality.

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 0bde6c3e
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -1456,29 +1456,6 @@ zoran_set_norm (struct zoran *zr,
		return -EINVAL;
	}

	if (norm == V4L2_STD_ALL) {
		unsigned int status = 0;
		v4l2_std_id std = 0;

		decoder_call(zr, video, querystd, &std);
		decoder_call(zr, core, s_std, std);

		/* let changes come into effect */
		ssleep(2);

		decoder_call(zr, video, g_input_status, &status);
		if (status & V4L2_IN_ST_NO_SIGNAL) {
			dprintk(1,
				KERN_ERR
				"%s: %s - no norm detected\n",
				ZR_DEVNAME(zr), __func__);
			/* reset norm */
			decoder_call(zr, core, s_std, zr->norm);
			return -EIO;
		}

		norm = std;
	}
	if (norm & V4L2_STD_SECAM)
		zr->timing = zr->card.tvn[2];
	else if (norm & V4L2_STD_NTSC)