summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/tuner-xc2028.c
diff options
context:
space:
mode:
authorChris Pascoe2007-12-02 10:54:17 +0100
committerMauro Carvalho Chehab2008-01-25 22:04:00 +0100
commit9ca01e780f8966a7a94f88ef5c54f340e117abea (patch)
tree0e69e0efa7b6b65ba7b60c3d4814800aed778d3d /drivers/media/video/tuner-xc2028.c
parentV4L/DVB (6852): xc2028: s-code offset should not modify internal control stru... (diff)
downloadkernel-qcow2-linux-9ca01e780f8966a7a94f88ef5c54f340e117abea.tar.gz
kernel-qcow2-linux-9ca01e780f8966a7a94f88ef5c54f340e117abea.tar.xz
kernel-qcow2-linux-9ca01e780f8966a7a94f88ef5c54f340e117abea.zip
V4L/DVB (6853): xc2028: check HAS_IF flag against table
When searching for the right S-Code table to load, check the HAS_IF flag against the firmware we are checking instead of against the the "type" requested. We already ignore the scode type requested if the caller passed an int_freq; this makes the search by frequency consistent with that behaviour. 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/video/tuner-xc2028.c')
-rw-r--r--drivers/media/video/tuner-xc2028.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c
index 81cc7f607d4e..a6b05dfd6703 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -592,7 +592,7 @@ static int load_scode(struct dvb_frontend *fe, unsigned int type,
} else {
for (pos = 0; pos < priv->firm_size; pos++) {
if ((priv->firm[pos].int_freq == int_freq) &&
- (type & HAS_IF))
+ (priv->firm[pos].type & HAS_IF))
break;
}
if (pos == priv->firm_size)
@@ -601,7 +601,7 @@ static int load_scode(struct dvb_frontend *fe, unsigned int type,
p = priv->firm[pos].ptr;
- if (type & HAS_IF) {
+ if (priv->firm[pos].type & HAS_IF) {
if (priv->firm[pos].size != 12 * 16 || scode >= 16)
return -EINVAL;
p += 12 * scode;