media: dvb-frontends/tc90522: fix bit shift mistakes
authorAkihiro Tsukada <tskd08@gmail.com>
Tue, 27 Mar 2018 15:51:21 +0000 (11:51 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 4 May 2018 18:43:41 +0000 (14:43 -0400)
GIT_AUTHOR_NAME=Akihiro TSUKADA
GIT_AUTHOR_EMAIL=tskd08@gmail.com

they were obviously wrong.

Signed-off-by: Akihiro Tsukada <tskd08@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/dvb-frontends/tc90522.c

index 5572b39614d552b127680df246d6cb8ab5b08192..04fb49223320f6f2b8176450189576896af103ee 100644 (file)
@@ -352,7 +352,7 @@ static int tc90522t_get_frontend(struct dvb_frontend *fe,
        mode = 1;
        ret = reg_read(state, 0xb0, val, 1);
        if (ret == 0) {
-               mode = (val[0] & 0xc0) >> 2;
+               mode = (val[0] & 0xc0) >> 6;
                c->transmission_mode = tm_conv[mode];
                c->guard_interval = (val[0] & 0x30) >> 4;
        }
@@ -379,7 +379,7 @@ static int tc90522t_get_frontend(struct dvb_frontend *fe,
                }
 
                /* layer B */
-               v = (val[3] & 0x03) << 1 | (val[4] & 0xc0) >> 6;
+               v = (val[3] & 0x03) << 2 | (val[4] & 0xc0) >> 6;
                if (v == 0x0f)
                        c->layer[1].segment_count = 0;
                else {