diff --git a/[refs] b/[refs] index 12a8bac275fb..33b81b013a5c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e8a4845d2a797958b1e0cb6acc5e826985ee90ce +refs/heads/master: 0fb84ce0dbffee26dc0934496e6bcdce853fa0d0 diff --git a/trunk/drivers/media/common/tuners/tuner-xc2028.c b/trunk/drivers/media/common/tuners/tuner-xc2028.c index 53f0fbb33cc6..61a7e138c748 100644 --- a/trunk/drivers/media/common/tuners/tuner-xc2028.c +++ b/trunk/drivers/media/common/tuners/tuner-xc2028.c @@ -811,6 +811,10 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type, hwmodel, (version & 0xf000) >> 12, (version & 0xf00) >> 8, (version & 0xf0) >> 4, version & 0xf); + + if (priv->ctrl.read_not_reliable) + goto read_not_reliable; + /* Check firmware version against what we downloaded. */ if (priv->firm_version != ((version & 0xf0) << 4 | (version & 0x0f))) { if (!priv->ctrl.read_not_reliable) { @@ -834,6 +838,7 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type, goto fail; } +read_not_reliable: memcpy(&priv->cur_fw, &new_fw, sizeof(priv->cur_fw)); /*