[media] DVB: dvb_frontend: Fix compatibility criteria for satellite receivers
authorAndreas Oberritter <obi@linuxtv.org>
Mon, 8 Aug 2011 14:54:36 +0000 (11:54 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 3 Sep 2011 21:07:18 +0000 (18:07 -0300)
  identify a satellite receiver by its 'delivery_system' instead of
  'modulation', which may overlap between different delivery systems.

Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-core/dvb_frontend.c

index d02c32e..d218fe2 100644 (file)
@@ -1132,16 +1132,13 @@ static void dtv_property_adv_params_sync(struct dvb_frontend *fe)
        p->frequency = c->frequency;
        p->inversion = c->inversion;
 
-       switch(c->modulation) {
-       case PSK_8:
-       case APSK_16:
-       case APSK_32:
-       case QPSK:
+       if (c->delivery_system == SYS_DSS ||
+           c->delivery_system == SYS_DVBS ||
+           c->delivery_system == SYS_DVBS2 ||
+           c->delivery_system == SYS_ISDBS ||
+           c->delivery_system == SYS_TURBO) {
                p->u.qpsk.symbol_rate = c->symbol_rate;
                p->u.qpsk.fec_inner = c->fec_inner;
-               break;
-       default:
-               break;
        }
 
        /* Fake out a generic DVB-T request so we pass validation in the ioctl */