diff options
author | Tom Hughes <tom@compton.nu> | 2005-11-08 21:35:22 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 07:56:02 -0800 |
commit | f5648e8a68daec5fd1c42c1500c662967adb8f6c (patch) | |
tree | d8f95f28a5bda82edc5592643f29efbea443c263 | |
parent | 4c09aa72b60f30650527afb384c1b3b1cb56aeea (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>
-rw-r--r-- | drivers/media/dvb/bt8xx/dst.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c index 418ffbbef96..bc833a55438 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; |