diff --git a/drivers/media/dvb/frontends/cx24123.c b/drivers/media/dvb/frontends/cx24123.c index 274a87b7a5d5fe8e54acf887aaeaa155bd82def1..3acd0d7f0b2c0644e97af5be858a5e4ab6883708 100644 --- a/drivers/media/dvb/frontends/cx24123.c +++ b/drivers/media/dvb/frontends/cx24123.c @@ -321,6 +321,12 @@ static int cx24123_set_fec(struct cx24123_state* state, fe_code_rate_t fec) if ( (fec < FEC_NONE) || (fec > FEC_AUTO) ) fec = FEC_AUTO; + /* Set the soft decision threshold */ + if(fec == FEC_1_2) + cx24123_writereg(state, 0x43, cx24123_readreg(state, 0x43) | 0x01); + else + cx24123_writereg(state, 0x43, cx24123_readreg(state, 0x43) & ~0x01); + switch (fec) { case FEC_1_2: dprintk("%s: set FEC to 1/2\n",__FUNCTION__);