diff options
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-dvb.c')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c index e06ec1ca8..e6e1145a3 100644 --- a/linux/drivers/media/video/cx88/cx88-dvb.c +++ b/linux/drivers/media/video/cx88/cx88-dvb.c @@ -94,15 +94,16 @@ static int dvb_thread(void *data) videobuf_read_start(file, &dev->dvbq); for (;;) { - if (kthread_should_stop()) - break; - /* fetch next buffer */ buf = list_entry(dev->dvbq.stream.next, struct videobuf_buffer, stream); list_del(&buf->stream); err = videobuf_waiton(buf,0,0); + /* stop_feed asked us to quit */ + if (kthread_should_stop()) + break; + /* feed buffer data to demux */ if (buf->state == STATE_DONE) dvb_dmx_swfilter(&dev->demux, buf->dma.vmalloc, @@ -156,7 +157,7 @@ static int dvb_start_feed(struct dvb_demux_feed *feed) out: up(&dev->lock); - dprintk(2, "dvb_cx8800_start_feed rc=%d\n",rc); + dprintk(2, "%s rc=%d\n",__FUNCTION__,rc); return rc; } @@ -166,7 +167,7 @@ static int dvb_stop_feed(struct dvb_demux_feed *feed) struct cx8802_dev *dev = demux->priv; int err = 0; - dprintk(2, "dvb_cx8800_stop_feed\n"); + dprintk(2, "%s\n",__FUNCTION__); down(&dev->lock); dev->nfeeds--; |