Commit 9d9d6bae authored by Andreas Oberritter's avatar Andreas Oberritter Committed by Linus Torvalds

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: default avatarAndreas Oberritter <obi@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent fc34f165
...@@ -45,6 +45,7 @@ void dvb_ringbuffer_init(struct dvb_ringbuffer *rbuf, void *data, size_t len) ...@@ -45,6 +45,7 @@ void dvb_ringbuffer_init(struct dvb_ringbuffer *rbuf, void *data, size_t len)
rbuf->pread=rbuf->pwrite=0; rbuf->pread=rbuf->pwrite=0;
rbuf->data=data; rbuf->data=data;
rbuf->size=len; rbuf->size=len;
rbuf->error=0;
init_waitqueue_head(&rbuf->queue); init_waitqueue_head(&rbuf->queue);
...@@ -86,7 +87,8 @@ ssize_t dvb_ringbuffer_avail(struct dvb_ringbuffer *rbuf) ...@@ -86,7 +87,8 @@ ssize_t dvb_ringbuffer_avail(struct dvb_ringbuffer *rbuf)
void dvb_ringbuffer_flush(struct dvb_ringbuffer *rbuf) void dvb_ringbuffer_flush(struct dvb_ringbuffer *rbuf)
{ {
rbuf->pread = rbuf->pwrite; rbuf->pread = rbuf->pwrite = 0;
rbuf->error = 0;
} }
......
...@@ -35,6 +35,7 @@ struct dvb_ringbuffer { ...@@ -35,6 +35,7 @@ struct dvb_ringbuffer {
ssize_t size; ssize_t size;
ssize_t pread; ssize_t pread;
ssize_t pwrite; ssize_t pwrite;
int error;
wait_queue_head_t queue; wait_queue_head_t queue;
spinlock_t lock; spinlock_t lock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment