From c6eeea47f11d99a1b31d98c40024b9711f0f1792 Mon Sep 17 00:00:00 2001 From: Hans-Frieder Vogt Date: Wed, 3 Oct 2012 05:25:40 -0300 Subject: [PATCH] --- yaml --- r: 333747 b: refs/heads/master c: 182b967e1119d22889e334c8f1c1b75df41f9165 h: refs/heads/master i: 333745: 3819fbc848511b92ac254be80123eff32660f90e 333743: 81a4f0365d5cbab379bae29f7f375eada966a595 v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb-frontends/af9033.c | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 84acfcf76f39..302ae63ca739 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8b6faacd759933841c531c662c7eaa3046676fcc +refs/heads/master: 182b967e1119d22889e334c8f1c1b75df41f9165 diff --git a/trunk/drivers/media/dvb-frontends/af9033.c b/trunk/drivers/media/dvb-frontends/af9033.c index 8162d939c4b2..464ad878490b 100644 --- a/trunk/drivers/media/dvb-frontends/af9033.c +++ b/trunk/drivers/media/dvb-frontends/af9033.c @@ -408,7 +408,7 @@ static int af9033_set_frontend(struct dvb_frontend *fe) { struct af9033_state *state = fe->demodulator_priv; struct dtv_frontend_properties *c = &fe->dtv_property_cache; - int ret, i, spec_inv; + int ret, i, spec_inv, sampling_freq; u8 tmp, buf[3], bandwidth_reg_val; u32 if_frequency, freq_cw, adc_freq; @@ -465,18 +465,20 @@ static int af9033_set_frontend(struct dvb_frontend *fe) else if_frequency = 0; - while (if_frequency > (adc_freq / 2)) - if_frequency -= adc_freq; + sampling_freq = if_frequency; - if (if_frequency >= 0) + while (sampling_freq > (adc_freq / 2)) + sampling_freq -= adc_freq; + + if (sampling_freq >= 0) spec_inv *= -1; else - if_frequency *= -1; + sampling_freq *= -1; - freq_cw = af9033_div(state, if_frequency, adc_freq, 23ul); + freq_cw = af9033_div(state, sampling_freq, adc_freq, 23ul); if (spec_inv == -1) - freq_cw *= -1; + freq_cw = 0x800000 - freq_cw; /* get adc multiplies */ ret = af9033_rd_reg(state, 0x800045, &tmp);