summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorChris Pascoe <c.pascoe@itee.uq.edu.au>2007-11-20 05:18:36 +0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-26 00:02:32 +0300
commit11a9eff9b66b1cf860faa84084328d798d18834c (patch)
tree785846860616e77692e1bed3da6f71a06dc4bbcb /drivers/media
parent47bd5bc6486a5288aa3002533c24c8e9e564f9ac (diff)
downloadlinux-11a9eff9b66b1cf860faa84084328d798d18834c.tar.xz
V4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific types
When searching for standard-specific analog firmware, only certain type bits are valid, much like for DTV. Mask them off when finding the firmware to load. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/tuner-xc2028-types.h2
-rw-r--r--drivers/media/video/tuner-xc2028.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/video/tuner-xc2028-types.h b/drivers/media/video/tuner-xc2028-types.h
index 6cee48193c47..c0dc6ec19f09 100644
--- a/drivers/media/video/tuner-xc2028-types.h
+++ b/drivers/media/video/tuner-xc2028-types.h
@@ -43,6 +43,8 @@
/* There's a FM | BASE firmware + FM specific firmware (std=0) */
#define FM (1<<10)
+#define STD_SPECIFIC_TYPES (MTS|FM|LCD|NOGD)
+
/* Applies only for FM firmware
Makes it use RF input 1 (pin #2) instead of input 2 (pin #4)
*/
diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c
index 115738d75f3e..5b646fed340f 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -403,7 +403,9 @@ static int seek_firmware(struct dvb_frontend *fe, unsigned int type,
else if (type & SCODE)
type &= SCODE_TYPES;
else if (type & DTV_TYPES)
- type = type & DTV_TYPES;
+ type &= DTV_TYPES;
+ else if (type & STD_SPECIFIC_TYPES)
+ type &= STD_SPECIFIC_TYPES;
/* Seek for exact match */
for (i = 0; i < priv->firm_size; i++) {