From: Malcolm Priestley Date: Sat, 28 Dec 2013 17:04:51 +0000 (-0300) Subject: [media] m88rs2000: Correct m88rs2000_get_fec X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a6d8e68b60703eb4779c502ec15a627c505c34da;p=openwrt%2Fstaging%2Fblogic.git [media] m88rs2000: Correct m88rs2000_get_fec Value of fec is achieved by the upper nibble bits 6,7 & 8. Signed-off-by: Malcolm Priestley Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb-frontends/m88rs2000.c b/drivers/media/dvb-frontends/m88rs2000.c index 002b109d9383..b2351466b0da 100644 --- a/drivers/media/dvb-frontends/m88rs2000.c +++ b/drivers/media/dvb-frontends/m88rs2000.c @@ -581,18 +581,20 @@ static fe_code_rate_t m88rs2000_get_fec(struct m88rs2000_state *state) reg = m88rs2000_readreg(state, 0x76); m88rs2000_writereg(state, 0x9a, 0xb0); + reg &= 0xf0; + reg >>= 5; + switch (reg) { - case 0x88: + case 0x4: return FEC_1_2; - case 0x68: + case 0x3: return FEC_2_3; - case 0x48: + case 0x2: return FEC_3_4; - case 0x28: + case 0x1: return FEC_5_6; - case 0x18: + case 0x0: return FEC_7_8; - case 0x08: default: break; }