aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/frontends/mt352.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/mt352.c b/drivers/media/dvb/frontends/mt352.c
index 5dd9b731f6f2..7cd190b6f015 100644
--- a/drivers/media/dvb/frontends/mt352.c
+++ b/drivers/media/dvb/frontends/mt352.c
@@ -152,7 +152,13 @@ static void mt352_calc_input_freq(struct mt352_state* state,
152 if (state->config.if2) 152 if (state->config.if2)
153 if2 = state->config.if2; 153 if2 = state->config.if2;
154 154
155 ife = (2*adc_clock - if2); 155 if (adc_clock >= if2 * 2)
156 ife = if2;
157 else {
158 ife = adc_clock - (if2 % adc_clock);
159 if (ife > adc_clock / 2)
160 ife = adc_clock - ife;
161 }
156 value = -16374 * ife / adc_clock; 162 value = -16374 * ife / adc_clock;
157 dprintk("%s: if2 %d, ife %d, adc_clock %d => %d / 0x%x\n", 163 dprintk("%s: if2 %d, ife %d, adc_clock %d => %d / 0x%x\n",
158 __FUNCTION__, if2, ife, adc_clock, value, value & 0x3fff); 164 __FUNCTION__, if2, ife, adc_clock, value, value & 0x3fff);