V4L/DVB: Allow to enable TS continuity and TEI check on loaded module

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>
This commit is contained in:
Abylay Ospan 2010-03-06 14:58:01 -03:00 committed by Mauro Carvalho Chehab
parent a4fa8e9e85
commit ab6a21f363

View 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 */ /* check pkt counter */
if (pid < MAX_PID) { if (pid < MAX_PID) {
if (buf[1] & 0x80) if (buf[1] & 0x80)
@ -1248,12 +1248,9 @@ int dvb_dmx_init(struct dvb_demux *dvbdemux)
dvbdemux->feed[i].index = i; dvbdemux->feed[i].index = i;
} }
if (dvb_demux_tscheck) {
dvbdemux->cnt_storage = vmalloc(MAX_PID + 1); dvbdemux->cnt_storage = vmalloc(MAX_PID + 1);
if (!dvbdemux->cnt_storage) if (!dvbdemux->cnt_storage)
printk(KERN_WARNING "Couldn't allocate memory for TS/TEI check. Disabling it\n"); printk(KERN_WARNING "Couldn't allocate memory for TS/TEI check. Disabling it\n");
}
INIT_LIST_HEAD(&dvbdemux->frontend_list); INIT_LIST_HEAD(&dvbdemux->frontend_list);