On 07/05/11 23:34, Ralph Metzler wrote: > Before blaming packet loss on the CI data path also please make > certain that you have no buffer overflows in the input part of > the sec device. > In the ngene driver you can e.g. add a printk in tsin_exchange(): > > if (dvb_ringbuffer_free(&dev->tsin_rbuf) > len) { > ... > } else > printk ("buffer overflow !!!!\n"); Ralph, void *tsin_exchange(void *priv, void *buf, u32 len, u32 clock, u32 flags) { struct ngene_channel *chan = priv; struct ngene *dev = chan->dev; if (flags & DF_SWAP32) swap_buffer(buf, len); if (dev->ci.en && chan->number == 2) { if (dvb_ringbuffer_free(&dev->tsin_rbuf) > len) { dvb_ringbuffer_write(&dev->tsin_rbuf, buf, len); wake_up_interruptible(&dev->tsin_rbuf.queue); } else printk (KERN_WARNING "ngene transport interface: tsin_exchange: buffer overflow !!!!\n"); return 0; } if (chan->users > 0) { dvb_dmx_swfilter(&chan->demux, buf, len); } return NULL; } just prints the buffer overflow warning just after the module is loaded, no other action made. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html