diff options
author | Chris Pascoe <c.pascoe@itee.uq.edu.au> | 2007-12-02 04:36:42 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 16:03:59 -0500 |
commit | ad35ce9e3e03b1515c8581bababb0e64d05cf1ad (patch) | |
tree | 712d67acac90dcf5a9d4d90c624955c3007c30f0 /drivers/media/video/tuner-xc2028.c | |
parent | e026268870b5f05a3f74b37816d96ed3b19a9e33 (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.c | 5 |
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 | ||
1018 | static int xc2028_sleep(struct dvb_frontend *fe) | 1019 | static int xc2028_sleep(struct dvb_frontend *fe) |