media: mb86a20s: Fix TS parallel mode
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Fri, 9 Aug 2013 11:53:26 +0000 (08:53 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Sep 2013 00:18:26 +0000 (17:18 -0700)
commit 9d32069faacdc81fe1dcb5d297c32a3ac81da8f0 upstream.

changeset 768e6dadd74 caused a regression on using mb86a20s
in parallel mode, as the parallel mode selection got
overriden by mb86a20s_init2.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/dvb-frontends/mb86a20s.c

index 856374bd3676e2a3c3bfc9deab4d6ec23684c1f8..2c7217fb1415fae76c897d8b5cc31c06c253883d 100644 (file)
@@ -157,7 +157,6 @@ static struct regdata mb86a20s_init2[] = {
        { 0x45, 0x04 },                         /* CN symbol 4 */
        { 0x48, 0x04 },                         /* CN manual mode */
 
-       { 0x50, 0xd5 }, { 0x51, 0x01 },         /* Serial */
        { 0x50, 0xd6 }, { 0x51, 0x1f },
        { 0x50, 0xd2 }, { 0x51, 0x03 },
        { 0x50, 0xd7 }, { 0x51, 0xbf },
@@ -1860,16 +1859,15 @@ static int mb86a20s_initfe(struct dvb_frontend *fe)
        dev_dbg(&state->i2c->dev, "%s: IF=%d, IF reg=0x%06llx\n",
                __func__, state->if_freq, (long long)pll);
 
-       if (!state->config->is_serial) {
+       if (!state->config->is_serial)
                regD5 &= ~1;
 
-               rc = mb86a20s_writereg(state, 0x50, 0xd5);
-               if (rc < 0)
-                       goto err;
-               rc = mb86a20s_writereg(state, 0x51, regD5);
-               if (rc < 0)
-                       goto err;
-       }
+       rc = mb86a20s_writereg(state, 0x50, 0xd5);
+       if (rc < 0)
+               goto err;
+       rc = mb86a20s_writereg(state, 0x51, regD5);
+       if (rc < 0)
+               goto err;
 
        rc = mb86a20s_writeregdata(state, mb86a20s_init2);
        if (rc < 0)