Commit f6301b5d70513721bb301b1f1e46670bbbddf549
Committed by
Greg Kroah-Hartman
1 parent
bcab62227f
media: tda10071: force modulation to QPSK on DVB-S
commit db4175ae2095634dbecd4c847da439f9c83e1b3b upstream. Only supported modulation for DVB-S is QPSK. Modulation parameter contains invalid value for DVB-S on some cases, which leads driver refusing tuning attempt. Due to that, hard code modulation to QPSK in case of DVB-S. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 5 additions and 1 deletions Side-by-side Diff
drivers/media/dvb-frontends/tda10071.c
... | ... | @@ -668,6 +668,7 @@ |
668 | 668 | struct dtv_frontend_properties *c = &fe->dtv_property_cache; |
669 | 669 | int ret, i; |
670 | 670 | u8 mode, rolloff, pilot, inversion, div; |
671 | + fe_modulation_t modulation; | |
671 | 672 | |
672 | 673 | dev_dbg(&priv->i2c->dev, |
673 | 674 | "%s: delivery_system=%d modulation=%d frequency=%d symbol_rate=%d inversion=%d pilot=%d rolloff=%d\n", |
674 | 675 | |
... | ... | @@ -702,10 +703,13 @@ |
702 | 703 | |
703 | 704 | switch (c->delivery_system) { |
704 | 705 | case SYS_DVBS: |
706 | + modulation = QPSK; | |
705 | 707 | rolloff = 0; |
706 | 708 | pilot = 2; |
707 | 709 | break; |
708 | 710 | case SYS_DVBS2: |
711 | + modulation = c->modulation; | |
712 | + | |
709 | 713 | switch (c->rolloff) { |
710 | 714 | case ROLLOFF_20: |
711 | 715 | rolloff = 2; |
... | ... | @@ -750,7 +754,7 @@ |
750 | 754 | |
751 | 755 | for (i = 0, mode = 0xff; i < ARRAY_SIZE(TDA10071_MODCOD); i++) { |
752 | 756 | if (c->delivery_system == TDA10071_MODCOD[i].delivery_system && |
753 | - c->modulation == TDA10071_MODCOD[i].modulation && | |
757 | + modulation == TDA10071_MODCOD[i].modulation && | |
754 | 758 | c->fec_inner == TDA10071_MODCOD[i].fec) { |
755 | 759 | mode = TDA10071_MODCOD[i].val; |
756 | 760 | dev_dbg(&priv->i2c->dev, "%s: mode found=%02x\n", |