[media] si2168: receive 4 bytes reply from cmd 0x14
authorAntti Palosaari <crope@iki.fi>
Fri, 11 Jul 2014 13:40:29 +0000 (10:40 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 15 Jul 2014 00:07:04 +0000 (21:07 -0300)
Command 0x14 returns 4 bytes as a reply. It is used for setting
key/value pairs to firmware and it returns 4 bytes back including
old value.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-frontends/si2168.c

index 6220544..5481c39 100644 (file)
@@ -251,21 +251,21 @@ static int si2168_set_frontend(struct dvb_frontend *fe)
 
        memcpy(cmd.args, "\x14\x00\x0c\x10\x12\x00", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
 
        memcpy(cmd.args, "\x14\x00\x06\x10\x24\x00", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
 
        memcpy(cmd.args, "\x14\x00\x07\x10\x00\x24", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
@@ -273,42 +273,42 @@ static int si2168_set_frontend(struct dvb_frontend *fe)
        memcpy(cmd.args, "\x14\x00\x0a\x10\x00\x00", 6);
        cmd.args[4] = delivery_system | bandwidth;
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
 
        memcpy(cmd.args, "\x14\x00\x0f\x10\x10\x00", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
 
        memcpy(cmd.args, "\x14\x00\x01\x10\x16\x00", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
 
        memcpy(cmd.args, "\x14\x00\x09\x10\xe3\x18", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
 
        memcpy(cmd.args, "\x14\x00\x08\x10\xd7\x15", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;
 
        memcpy(cmd.args, "\x14\x00\x01\x12\x00\x00", 6);
        cmd.wlen = 6;
-       cmd.rlen = 1;
+       cmd.rlen = 4;
        ret = si2168_cmd_execute(s, &cmd);
        if (ret)
                goto err;