[PATCH 14/37] dvb: dst: fix DST DVB-S get_frequency

From: Michael Krufky
Date: Tue Nov 01 2005 - 03:23:16 EST




From: Tom Hughes <tom@xxxxxxxxxx>

fix DST DVB-S get_frequency

- fixes a bug that caused the returned frequency to wrong

Signed-off-by: Tom Hughes <tom@xxxxxxxxxx>
Signed-off-by: Manu Abraham <manu@xxxxxxxxxxx>
Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxx>

drivers/media/dvb/bt8xx/dst.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

--- linux-2.6.14-git3.orig/drivers/media/dvb/bt8xx/dst.c
+++ linux-2.6.14-git3/drivers/media/dvb/bt8xx/dst.c
@@ -1092,7 +1092,13 @@
}
if (state->rx_tuna[2] == 0 && state->rx_tuna[3] == 0)
return 0;
- state->decode_freq = ((state->rx_tuna[2] & 0x7f) << 8) + state->rx_tuna[3];
+
+ if (state->dst_type == DST_TYPE_IS_SAT) {
+ state->decode_freq = ((state->rx_tuna[2] & 0x7f) << 8) + state->rx_tuna[3];
+ } else {
+ state->decode_freq = ((state->rx_tuna[2] & 0x7f) << 16) + (state->rx_tuna[3] << 8) + state->rx_tuna[4];
+ }
+ state->decode_freq = state->decode_freq * 1000;
state->decode_lock = 1;
state->diseq_flags |= HAS_LOCK;