aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/cx22700.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb-frontends/cx22700.c')
-rw-r--r--drivers/media/dvb-frontends/cx22700.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/cx22700.c b/drivers/media/dvb-frontends/cx22700.c
index 3d399d9a6343..86563260d0f2 100644
--- a/drivers/media/dvb-frontends/cx22700.c
+++ b/drivers/media/dvb-frontends/cx22700.c
@@ -169,6 +169,9 @@ static int cx22700_set_tps(struct cx22700_state *state,
cx22700_writereg (state, 0x04, val);
+ if (p->code_rate_HP - FEC_1_2 >= sizeof(fec_tab) ||
+ p->code_rate_LP - FEC_1_2 >= sizeof(fec_tab))
+ return -EINVAL;
val = fec_tab[p->code_rate_HP - FEC_1_2] << 3;
val |= fec_tab[p->code_rate_LP - FEC_1_2];