From 8202b8a0cca4c5b271c8ff729aa3b572eece6edf Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Wed, 26 Jun 2013 19:42:52 -0400 Subject: [PATCH] print warning and return -EBUSY on double get_subbuf() Each get_subbuf() should be paired with a put_subbuf(). Signed-off-by: Mathieu Desnoyers --- lib/ringbuffer/ring_buffer_frontend.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/ringbuffer/ring_buffer_frontend.c b/lib/ringbuffer/ring_buffer_frontend.c index bff920d1..84341adc 100644 --- a/lib/ringbuffer/ring_buffer_frontend.c +++ b/lib/ringbuffer/ring_buffer_frontend.c @@ -927,6 +927,13 @@ int lib_ring_buffer_get_subbuf(struct lib_ring_buffer *buf, int ret; int finalized; + if (buf->get_subbuf) { + /* + * Reader is trying to get a subbuffer twice. + */ + CHAN_WARN_ON(chan, 1); + return -EBUSY; + } retry: finalized = ACCESS_ONCE(buf->finalized); /* -- 2.34.1