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

Commit 276dfc4b authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] mb86a20s: fix ISDB-T mode handling



The driver was reporting an incorrect mode, when mode 2
is selected.

While testing it, noticed that neither mode 1 or guard
interval 1/32 is supported by this device. Document it,
and ensure that it will report _AUTO when it doesn't lock,
in order to not report a wrong detection to userspace.

Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 4423a2ba
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -721,11 +721,10 @@ static int mb86a20s_get_frontend(struct dvb_frontend *fe)
	rc = mb86a20s_readreg(state, 0x07);
	if (rc < 0)
		return rc;
	c->transmission_mode = TRANSMISSION_MODE_AUTO;
	if ((rc & 0x60) == 0x20) {
		switch (rc & 0x0c >> 2) {
		case 0:
			c->transmission_mode = TRANSMISSION_MODE_2K;
			break;
		/* Only modes 2 and 3 are supported */
		switch ((rc >> 2) & 0x03) {
		case 1:
			c->transmission_mode = TRANSMISSION_MODE_4K;
			break;
@@ -734,7 +733,9 @@ static int mb86a20s_get_frontend(struct dvb_frontend *fe)
			break;
		}
	}
	c->guard_interval = GUARD_INTERVAL_AUTO;
	if (!(rc & 0x10)) {
		/* Guard interval 1/32 is not supported */
		switch (rc & 0x3) {
		case 0:
			c->guard_interval = GUARD_INTERVAL_1_4;