u16 pid,
                   int type,
                   enum dmx_ts_pes pes_type,
-                  size_t circular_buffer_size,
                   ktime_t timeout);
        int (*start_filtering)(struct dmx_ts_feed *feed);
        int (*stop_filtering)(struct dmx_ts_feed *feed);
        /* public: */
        int (*set)(struct dmx_section_feed *feed,
                   u16 pid,
-                  size_t circular_buffer_size,
                   int check_crc);
        int (*allocate_filter)(struct dmx_section_feed *feed,
                               struct dmx_section_filter **filter);
  * the &dmx_demux.
  * Any TS packets that match the filter settings are copied to a circular
  * buffer. The filtered TS packets are delivered to the client using this
- * callback function. The size of the circular buffer is controlled by the
- * circular_buffer_size parameter of the &dmx_ts_feed.@set function.
+ * callback function.
  * It is expected that the @buffer1 and @buffer2 callback parameters point to
  * addresses within the circular buffer, but other implementations are also
  * possible. Note that the called party should not try to free the memory
 
        tsfeed = feed->ts;
        tsfeed->priv = filter;
 
-       ret = tsfeed->set(tsfeed, feed->pid, ts_type, ts_pes, 32768, timeout);
+       ret = tsfeed->set(tsfeed, feed->pid, ts_type, ts_pes, timeout);
        if (ret < 0) {
                dmxdev->demux->release_ts_feed(dmxdev->demux, tsfeed);
                return ret;
                                return ret;
                        }
 
-                       ret = (*secfeed)->set(*secfeed, para->pid, 32768,
+                       ret = (*secfeed)->set(*secfeed, para->pid,
                                              (para->flags & DMX_CHECK_CRC) ? 1 : 0);
                        if (ret < 0) {
                                pr_err("DVB (%s): could not set feed\n",
 
 
 #include "dvb_demux.h"
 
-#define NOBUFS
-
 static int dvb_demux_tscheck;
 module_param(dvb_demux_tscheck, int, 0644);
 MODULE_PARM_DESC(dvb_demux_tscheck,
 }
 
 static int dmx_ts_feed_set(struct dmx_ts_feed *ts_feed, u16 pid, int ts_type,
-                          enum dmx_ts_pes pes_type,
-                          size_t circular_buffer_size, ktime_t timeout)
+                          enum dmx_ts_pes pes_type, ktime_t timeout)
 {
        struct dvb_demux_feed *feed = (struct dvb_demux_feed *)ts_feed;
        struct dvb_demux *demux = feed->demux;
        dvb_demux_feed_add(feed);
 
        feed->pid = pid;
-       feed->buffer_size = circular_buffer_size;
        feed->timeout = timeout;
        feed->ts_type = ts_type;
        feed->pes_type = pes_type;
 
-       if (feed->buffer_size) {
-#ifdef NOBUFS
-               feed->buffer = NULL;
-#else
-               feed->buffer = vmalloc(feed->buffer_size);
-               if (!feed->buffer) {
-                       mutex_unlock(&demux->mutex);
-                       return -ENOMEM;
-               }
-#endif
-       }
-
        feed->state = DMX_STATE_READY;
        mutex_unlock(&demux->mutex);
 
        feed->demux = demux;
        feed->pid = 0xffff;
        feed->peslen = 0xfffa;
-       feed->buffer = NULL;
 
        (*ts_feed) = &feed->feed.ts;
        (*ts_feed)->parent = dmx;
                mutex_unlock(&demux->mutex);
                return -EINVAL;
        }
-#ifndef NOBUFS
-       vfree(feed->buffer);
-       feed->buffer = NULL;
-#endif
 
        feed->state = DMX_STATE_FREE;
        feed->filter->state = DMX_STATE_FREE;
 }
 
 static int dmx_section_feed_set(struct dmx_section_feed *feed,
-                               u16 pid, size_t circular_buffer_size,
-                               int check_crc)
+                               u16 pid, int check_crc)
 {
        struct dvb_demux_feed *dvbdmxfeed = (struct dvb_demux_feed *)feed;
        struct dvb_demux *dvbdmx = dvbdmxfeed->demux;
        dvb_demux_feed_add(dvbdmxfeed);
 
        dvbdmxfeed->pid = pid;
-       dvbdmxfeed->buffer_size = circular_buffer_size;
        dvbdmxfeed->feed.sec.check_crc = check_crc;
 
-#ifdef NOBUFS
-       dvbdmxfeed->buffer = NULL;
-#else
-       dvbdmxfeed->buffer = vmalloc(dvbdmxfeed->buffer_size);
-       if (!dvbdmxfeed->buffer) {
-               mutex_unlock(&dvbdmx->mutex);
-               return -ENOMEM;
-       }
-#endif
-
        dvbdmxfeed->state = DMX_STATE_READY;
        mutex_unlock(&dvbdmx->mutex);
        return 0;
        dvbdmxfeed->feed.sec.secbufp = dvbdmxfeed->feed.sec.seclen = 0;
        dvbdmxfeed->feed.sec.tsfeedp = 0;
        dvbdmxfeed->filter = NULL;
-       dvbdmxfeed->buffer = NULL;
 
        (*feed) = &dvbdmxfeed->feed.sec;
        (*feed)->is_filtering = 0;
                mutex_unlock(&dvbdmx->mutex);
                return -EINVAL;
        }
-#ifndef NOBUFS
-       vfree(dvbdmxfeed->buffer);
-       dvbdmxfeed->buffer = NULL;
-#endif
        dvbdmxfeed->state = DMX_STATE_FREE;
 
        dvb_demux_feed_del(dvbdmxfeed);