summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/dvb/dvb-core/dvb_frontend.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
index 3929e90c8..d2b4b9f80 100644
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -763,6 +763,13 @@ static int dvb_frontend_ioctl (struct inode *inode, struct file *file,
fe->parameters.inversion = INVERSION_AUTO;
fetunesettings.parameters.inversion = INVERSION_AUTO;
}
+ if (fe->info->type == FE_OFDM) {
+ /* without hierachical coding code_rate_LP is irrelevant,
+ * so we tolerate the otherwise invalid FEC_NONE setting */
+ if (fe->parameters.u.ofdm.hierarchy_information == HIERARCHY_NONE &&
+ fe->parameters.u.ofdm.code_rate_LP == FEC_NONE)
+ fe->parameters.u.ofdm.code_rate_LP = FEC_AUTO;
+ }
/* get frontend-specific tuning settings */
if (dvb_frontend_internal_ioctl(&fe->frontend, FE_GET_TUNE_SETTINGS,