ustream: fix ustream_read_buf_full() for multiple read buffers
authorFelix Fietkau <nbd@openwrt.org>
Wed, 30 Jan 2013 15:52:32 +0000 (16:52 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 30 Jan 2013 15:52:32 +0000 (16:52 +0100)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
ustream.h

index 15f1ba1..24a18e3 100644 (file)
--- a/ustream.h
+++ b/ustream.h
@@ -171,7 +171,8 @@ static inline int ustream_pending_data(struct ustream *s, bool write)
 
 static inline bool ustream_read_buf_full(struct ustream *s)
 {
-       return ustream_pending_data(s, false) == s->r.buffer_len;
+       return ustream_pending_data(s, false) == s->r.buffer_len &&
+              s->r.buffers == s->r.max_buffers;
 }
 
 /*** --- functions only used by ustream implementations --- ***/