Răsfoiți Sursa

[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>
Tom Hughes 19 ani în urmă
părinte
comite
f5648e8a68
1 a modificat fișierele cu 7 adăugiri și 1 ștergeri
  1. 7 1
      drivers/media/dvb/bt8xx/dst.c

+ 7 - 1
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;