diff options
| -rw-r--r-- | drivers/media/dvb-frontends/tda10071.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/drivers/media/dvb-frontends/tda10071.c b/drivers/media/dvb-frontends/tda10071.c index 522fe00f5eee..49874e76548b 100644 --- a/drivers/media/dvb-frontends/tda10071.c +++ b/drivers/media/dvb-frontends/tda10071.c @@ -668,6 +668,7 @@ static int tda10071_set_frontend(struct dvb_frontend *fe)  	struct dtv_frontend_properties *c = &fe->dtv_property_cache;  	int ret, i;  	u8 mode, rolloff, pilot, inversion, div; +	fe_modulation_t modulation;  	dev_dbg(&priv->i2c->dev,  			"%s: delivery_system=%d modulation=%d frequency=%d symbol_rate=%d inversion=%d pilot=%d rolloff=%d\n", @@ -702,10 +703,13 @@ static int tda10071_set_frontend(struct dvb_frontend *fe)  	switch (c->delivery_system) {  	case SYS_DVBS: +		modulation = QPSK;  		rolloff = 0;  		pilot = 2;  		break;  	case SYS_DVBS2: +		modulation = c->modulation; +  		switch (c->rolloff) {  		case ROLLOFF_20:  			rolloff = 2; @@ -750,7 +754,7 @@ static int tda10071_set_frontend(struct dvb_frontend *fe)  	for (i = 0, mode = 0xff; i < ARRAY_SIZE(TDA10071_MODCOD); i++) {  		if (c->delivery_system == TDA10071_MODCOD[i].delivery_system && -			c->modulation == TDA10071_MODCOD[i].modulation && +			modulation == TDA10071_MODCOD[i].modulation &&  			c->fec_inner == TDA10071_MODCOD[i].fec) {  			mode = TDA10071_MODCOD[i].val;  			dev_dbg(&priv->i2c->dev, "%s: mode found=%02x\n", | 
