diff options
Diffstat (limited to 'linux/drivers')
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 7 |
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, |