Browse Source

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>
Abylay Ospan 15 years ago
parent
commit
ab6a21f363
1 changed files with 4 additions and 7 deletions
  1. 4 7
      drivers/media/dvb/dvb-core/dvb_demux.c

+ 4 - 7
drivers/media/dvb/dvb-core/dvb_demux.c

@@ -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);