summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorChris Pascoe <c.pascoe@itee.uq.edu.au>2007-12-02 19:36:42 +1000
committerChris Pascoe <c.pascoe@itee.uq.edu.au>2007-12-02 19:36:42 +1000
commiteaa733af398f50375e2de38be27d489a16fd1739 (patch)
tree93be104e05ab5e9579bfbda6008d5be6f6eebac5 /linux/drivers
parent462190e49962234691889a05d155f804f4c10c71 (diff)
downloadmediapointer-dvb-s2-eaa733af398f50375e2de38be27d489a16fd1739.tar.gz
mediapointer-dvb-s2-eaa733af398f50375e2de38be27d489a16fd1739.tar.bz2
xc2028: s-code offset should not modify internal control structure
From: Chris Pascoe <c.pascoe@itee.uq.edu.au> Don't modify the control structure that was provided at attach when applying an offset to the S-Code, otherwise it will be incorrect on subsequent tunes. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/video/tuner-xc2028.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/linux/drivers/media/video/tuner-xc2028.c b/linux/drivers/media/video/tuner-xc2028.c
index b2e471ee7..cf5d1f7e6 100644
--- a/linux/drivers/media/video/tuner-xc2028.c
+++ b/linux/drivers/media/video/tuner-xc2028.c
@@ -971,6 +971,7 @@ static int xc2028_set_params(struct dvb_frontend *fe,
struct xc2028_data *priv = fe->tuner_priv;
unsigned int type=0;
fe_bandwidth_t bw = BANDWIDTH_8_MHZ;
+ u16 demod = 0;
tuner_dbg("%s called\n", __FUNCTION__);
@@ -1024,10 +1025,10 @@ static int xc2028_set_params(struct dvb_frontend *fe,
/* All S-code tables need a 200kHz shift */
if (priv->ctrl.demod)
- priv->ctrl.demod += 200;
+ demod = priv->ctrl.demod + 200;
return generic_set_freq(fe, p->frequency,
- T_DIGITAL_TV, type, 0, priv->ctrl.demod);
+ T_DIGITAL_TV, type, 0, demod);
}
static int xc2028_sleep(struct dvb_frontend *fe)