aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@linuxtv.org>2006-03-13 11:14:34 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 11:53:17 -0500
commit9d9d6baeca6f9174b8e7fd219a62a8fa09d61cc7 (patch)
treed98ceaf625ca9b16536b641476c9fc93177bd79b /drivers/media
parentfc34f165317403444d254a27bc356dc5de0bbc3d (diff)
V4L/DVB (3484): Make dvb_ringbuffer compatible to dmxdev_buffer
Added variable 'error' to struct dvb_ringbuffer, which is set to zero on init() and flush(). Also reset read an write pointers to zero on flush() to get less fragmented data. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/dvb-core/dvb_ringbuffer.c4
-rw-r--r--drivers/media/dvb/dvb-core/dvb_ringbuffer.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_ringbuffer.c b/drivers/media/dvb/dvb-core/dvb_ringbuffer.c
index 77ad2410f4d3..f233248358c4 100644
--- a/drivers/media/dvb/dvb-core/dvb_ringbuffer.c
+++ b/drivers/media/dvb/dvb-core/dvb_ringbuffer.c
@@ -45,6 +45,7 @@ void dvb_ringbuffer_init(struct dvb_ringbuffer *rbuf, void *data, size_t len)
45 rbuf->pread=rbuf->pwrite=0; 45 rbuf->pread=rbuf->pwrite=0;
46 rbuf->data=data; 46 rbuf->data=data;
47 rbuf->size=len; 47 rbuf->size=len;
48 rbuf->error=0;
48 49
49 init_waitqueue_head(&rbuf->queue); 50 init_waitqueue_head(&rbuf->queue);
50 51
@@ -86,7 +87,8 @@ ssize_t dvb_ringbuffer_avail(struct dvb_ringbuffer *rbuf)
86 87
87void dvb_ringbuffer_flush(struct dvb_ringbuffer *rbuf) 88void dvb_ringbuffer_flush(struct dvb_ringbuffer *rbuf)
88{ 89{
89 rbuf->pread = rbuf->pwrite; 90 rbuf->pread = rbuf->pwrite = 0;
91 rbuf->error = 0;
90} 92}
91 93
92 94
diff --git a/drivers/media/dvb/dvb-core/dvb_ringbuffer.h b/drivers/media/dvb/dvb-core/dvb_ringbuffer.h
index 6d2560972771..d97714e75736 100644
--- a/drivers/media/dvb/dvb-core/dvb_ringbuffer.h
+++ b/drivers/media/dvb/dvb-core/dvb_ringbuffer.h
@@ -35,6 +35,7 @@ struct dvb_ringbuffer {
35 ssize_t size; 35 ssize_t size;
36 ssize_t pread; 36 ssize_t pread;
37 ssize_t pwrite; 37 ssize_t pwrite;
38 int error;
38 39
39 wait_queue_head_t queue; 40 wait_queue_head_t queue;
40 spinlock_t lock; 41 spinlock_t lock;