From 1e9dadbe7a0afa0c3eeae538164d8b9d489d3cc0 Mon Sep 17 00:00:00 2001
From: Bradley Kite <bradley.kite@gmail.com>
Date: Sat, 2 Sep 2006 21:14:27 -0300
Subject: [PATCH] V4L/DVB (4600): Fix DVB Front-End Signal Strength
 Inconsistency

The cx22702 returns an 8 bit unshifted value for signal strength; this is
inconsistent with most other frontends

Signed-off-by: Bradley Derek Kite <bradley.kite@gmail.com>
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
 drivers/media/dvb/frontends/cx22702.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/media/dvb/frontends/cx22702.c b/drivers/media/dvb/frontends/cx22702.c
index 4106d46c957f..335219ebce2d 100644
--- a/drivers/media/dvb/frontends/cx22702.c
+++ b/drivers/media/dvb/frontends/cx22702.c
@@ -399,7 +399,9 @@ static int cx22702_read_signal_strength(struct dvb_frontend* fe, u16* signal_str
 {
 	struct cx22702_state* state = fe->demodulator_priv;
 
-	*signal_strength = cx22702_readreg (state, 0x23);
+	u16 rs_ber = 0;
+	rs_ber = cx22702_readreg (state, 0x23);
+	*signal_strength = (rs_ber << 8) | rs_ber;
 
 	return 0;
 }
-- 
GitLab