aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/tuner-xc2028.c
diff options
context:
space:
mode:
authorChris Pascoe <c.pascoe@itee.uq.edu.au>2007-12-02 04:36:42 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:03:59 -0500
commitad35ce9e3e03b1515c8581bababb0e64d05cf1ad (patch)
tree712d67acac90dcf5a9d4d90c624955c3007c30f0 /drivers/media/video/tuner-xc2028.c
parente026268870b5f05a3f74b37816d96ed3b19a9e33 (diff)
V4L/DVB (6852): xc2028: s-code offset should not modify internal control structure
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> 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.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c
index 416c717eb78e..81cc7f607d4e 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -956,6 +956,7 @@ static int xc2028_set_params(struct dvb_frontend *fe,
956 struct xc2028_data *priv = fe->tuner_priv; 956 struct xc2028_data *priv = fe->tuner_priv;
957 unsigned int type=0; 957 unsigned int type=0;
958 fe_bandwidth_t bw = BANDWIDTH_8_MHZ; 958 fe_bandwidth_t bw = BANDWIDTH_8_MHZ;
959 u16 demod = 0;
959 960
960 tuner_dbg("%s called\n", __FUNCTION__); 961 tuner_dbg("%s called\n", __FUNCTION__);
961 962
@@ -1009,10 +1010,10 @@ static int xc2028_set_params(struct dvb_frontend *fe,
1009 1010
1010 /* All S-code tables need a 200kHz shift */ 1011 /* All S-code tables need a 200kHz shift */
1011 if (priv->ctrl.demod) 1012 if (priv->ctrl.demod)
1012 priv->ctrl.demod += 200; 1013 demod = priv->ctrl.demod + 200;
1013 1014
1014 return generic_set_freq(fe, p->frequency, 1015 return generic_set_freq(fe, p->frequency,
1015 T_DIGITAL_TV, type, 0, priv->ctrl.demod); 1016 T_DIGITAL_TV, type, 0, demod);
1016} 1017}
1017 1018
1018static int xc2028_sleep(struct dvb_frontend *fe) 1019static int xc2028_sleep(struct dvb_frontend *fe)