summaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-12-02 12:30:16 +0100
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-18 05:40:22 +0200
commit0fb84ce0dbffee26dc0934496e6bcdce853fa0d0 (patch)
treea7da698a21d7b8db0e8471f54185f16f83400fc0 /drivers/media/common
parentV4L/DVB (12845): tm6000: more buffer handling fixes (diff)
downloadlinux-0fb84ce0dbffee26dc0934496e6bcdce853fa0d0.tar.xz
linux-0fb84ce0dbffee26dc0934496e6bcdce853fa0d0.zip
V4L/DVB (12846): tuner-xc2028: Fix skip code for devices with broken read (tm6000)
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/tuners/tuner-xc2028.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c
index 53f0fbb33cc6..61a7e138c748 100644
--- a/drivers/media/common/tuners/tuner-xc2028.c
+++ b/drivers/media/common/tuners/tuner-xc2028.c
@@ -811,6 +811,10 @@ check_device:
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 @@ check_device:
goto fail;
}
+read_not_reliable:
memcpy(&priv->cur_fw, &new_fw, sizeof(priv->cur_fw));
/*