aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTom Hughes2005-11-08 21:35:22 -0800
committerLinus Torvalds2005-11-09 07:56:02 -0800
commitf5648e8a68daec5fd1c42c1500c662967adb8f6c (patch)
treed8f95f28a5bda82edc5592643f29efbea443c263 /drivers
parent4c09aa72b60f30650527afb384c1b3b1cb56aeea (diff)
[PATCH] dvb: dst: fix DST DVB-S get_frequency
fix DST DVB-S get_frequency - fixes a bug that caused the returned frequency to wrong Signed-off-by: Tom Hughes <tom@compton.nu> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Cc: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/dvb/bt8xx/dst.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
index 418ffbbef966..bc833a55438f 100644
--- a/drivers/media/dvb/bt8xx/dst.c
+++ b/drivers/media/dvb/bt8xx/dst.c
@@ -1092,7 +1092,13 @@ static int dst_get_tuna(struct dst_state *state)
}
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;