summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-12-02 09:30:16 -0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-02 09:30:16 -0200
commita3a8cb32b3e0f9d6dff5a2bab14d435d9522283e (patch)
tree539e7d59e6a541883d76ee7b42cd0fdfc001b17f /linux
parentbc89bef8e3f663f0ae2e6a61a6f87361d7a95501 (diff)
downloadmediapointer-dvb-s2-a3a8cb32b3e0f9d6dff5a2bab14d435d9522283e.tar.gz
mediapointer-dvb-s2-a3a8cb32b3e0f9d6dff5a2bab14d435d9522283e.tar.bz2
tuner-xc2028: Fix skip code for devices with broken read (tm6000)
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/common/tuners/tuner-xc2028.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/linux/drivers/media/common/tuners/tuner-xc2028.c b/linux/drivers/media/common/tuners/tuner-xc2028.c
index c23b00ac3..4d31767a6 100644
--- a/linux/drivers/media/common/tuners/tuner-xc2028.c
+++ b/linux/drivers/media/common/tuners/tuner-xc2028.c
@@ -814,6 +814,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) {
@@ -837,6 +841,7 @@ check_device:
goto fail;
}
+read_not_reliable:
memcpy(&priv->cur_fw, &new_fw, sizeof(priv->cur_fw));
/*