V4L/DVB: Allow to enable TS continuity and TEI check on loaded module
authorAbylay Ospan <aospan@netup.ru>
Sat, 6 Mar 2010 17:58:01 +0000 (14:58 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 18 May 2010 03:46:32 +0000 (00:46 -0300)
Current dvb_demux_tscheck processing doesn't allow to enable check on loaded
module. dvb_demux_tscheck can be enabled only when loading module (
dvb_dmx_init should be called to enable dvb_demux_tscheck ). This patch fix
this issue.

Signed-off-by: Abylay Ospan <aospan@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-core/dvb_demux.c

index 67f189b..977ddba 100644 (file)
@@ -426,7 +426,7 @@ static void dvb_dmx_swfilter_packet(struct dvb_demux *demux, const u8 *buf)
                };
        };
 
-       if (demux->cnt_storage) {
+       if (demux->cnt_storage && dvb_demux_tscheck) {
                /* check pkt counter */
                if (pid < MAX_PID) {
                        if (buf[1] & 0x80)
@@ -1248,12 +1248,9 @@ int dvb_dmx_init(struct dvb_demux *dvbdemux)
                dvbdemux->feed[i].index = i;
        }
 
-       if (dvb_demux_tscheck) {
-               dvbdemux->cnt_storage = vmalloc(MAX_PID + 1);
-
-               if (!dvbdemux->cnt_storage)
-                       printk(KERN_WARNING "Couldn't allocate memory for TS/TEI check. Disabling it\n");
-       }
+       dvbdemux->cnt_storage = vmalloc(MAX_PID + 1);
+       if (!dvbdemux->cnt_storage)
+               printk(KERN_WARNING "Couldn't allocate memory for TS/TEI check. Disabling it\n");
 
        INIT_LIST_HEAD(&dvbdemux->frontend_list);