Commit f6301b5d70513721bb301b1f1e46670bbbddf549

Authored by Antti Palosaari
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",