static int dvbdmx_allocate_ts_feed (struct dmx_demux *dmx, struct dmx_ts_feed **ts_feed,			     dmx_ts_cb callback){	struct dvb_demux *demux = (struct dvb_demux *) dmx;	struct dvb_demux_feed *feed;	if (down_interruptible (&demux->mutex))		return -ERESTARTSYS;	if (!(feed = dvb_dmx_feed_alloc(demux))) {		up(&demux->mutex);		return -EBUSY;	}	feed->type = DMX_TYPE_TS;	feed->cb.ts = callback;	feed->demux = demux;	feed->pid = 0xffff;	feed->peslen = 0xfffa;	feed->buffer = NULL;	(*ts_feed) = &feed->feed.ts;	(*ts_feed)->parent = dmx;	(*ts_feed)->priv = NULL;	(*ts_feed)->is_filtering = 0;	(*ts_feed)->start_filtering = dmx_ts_feed_start_filtering;	(*ts_feed)->stop_filtering = dmx_ts_feed_stop_filtering;	(*ts_feed)->set = dmx_ts_feed_set;	if (!(feed->filter = dvb_dmx_filter_alloc(demux))) {		feed->state = DMX_STATE_FREE;		up(&demux->mutex);		return -EBUSY;	}	feed->filter->type = DMX_TYPE_TS;	feed->filter->feed = feed;	feed->filter->state = DMX_STATE_READY;	up(&demux->mutex);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/dad4a73071532448f6cee29791476494a8eb3a58/dvb_demux.c/clean/drivers/media/dvb/dvb-core/dvb_demux.c