V4L/DVB (6650): xc2028: base firmwares should have std0
authorChris Pascoe <c.pascoe@itee.uq.edu.au>
Tue, 20 Nov 2007 02:11:37 +0000 (23:11 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:02:32 +0000 (19:02 -0200)
When loading BASE firmware, we must use std = 0.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/tuner-xc2028.c

index 8f9ccaee9bb5cee53191b9c2ad30b61c2b03b8bd..115738d75f3e4991620485cdb5933a3242749330 100644 (file)
@@ -614,6 +614,7 @@ static int check_firmware(struct dvb_frontend *fe, enum tuner_mode new_mode,
        unsigned int            type = 0;
        struct firmware_properties new_fw;
        u16                     version, hwmodel;
+       v4l2_std_id             std0;
 
        tuner_dbg("%s called\n", __FUNCTION__);
 
@@ -690,7 +691,9 @@ retry:
        if (rc < 0)
                goto fail;
 
-       rc = load_firmware(fe, BASE | new_fw.type, &new_fw.id);
+       /* BASE firmwares are all std0 */
+       std0 = 0;
+       rc = load_firmware(fe, BASE | new_fw.type, &std0);
        if (rc < 0) {
                tuner_err("Error %d while loading base firmware\n",
                          rc);
@@ -700,7 +703,7 @@ retry:
        /* Load INIT1, if needed */
        tuner_dbg("Load init1 firmware, if exists\n");
 
-       rc = load_firmware(fe, BASE | INIT1 | new_fw.type, &new_fw.id);
+       rc = load_firmware(fe, BASE | INIT1 | new_fw.type, &std0);
        if (rc < 0 && rc != -ENOENT) {
                tuner_err("Error %d while loading init1 firmware\n",
                          rc);