Hi, I was investigating the section demux code and I think spotted a bug... patch attached for review before I check it in: --- linux/drivers/media/dvb/dvb-core/dvb_demux.c 27 Oct 2005 21:03:39 -0000 1.70 +++ linux/drivers/media/dvb/dvb-core/dvb_demux.c 10 Nov 2005 09:22:35 -0000 @@ -118,7 +118,7 @@ int i; for (i = 0; i < DVB_DEMUX_MASK_MAX; i++) { - u8 xor = f->filter.filter_value[i] ^ feed->feed.sec.secbuf[i]; + u8 xor = f->filter.filter_value[i] ^ feed->feed.sec.secbuf[0]; if (f->maskandmode[i] & xor) return 0; I think its meant to be comparing the table ID of the section with the value in each of the possible filters - i.e. it should always read from secbuf[0].