diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2013-06-15 15:36:03 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-24 01:47:07 +0200 |
commit | 9dd5139f973f55ab4b2e9aff8171781f1e55b29d (patch) | |
tree | 73d115cde8da85d22a9457de1d4f5567f67f0932 /drivers/tty/tty_buffer.c | |
parent | tty: Fix flip buffer free list (diff) | |
download | linux-9dd5139f973f55ab4b2e9aff8171781f1e55b29d.tar.xz linux-9dd5139f973f55ab4b2e9aff8171781f1e55b29d.zip |
tty: Factor flip buffer initialization into helper function
Factor shared code; prepare for adding 0-sized sentinel flip buffer.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/tty_buffer.c')
-rw-r--r-- | drivers/tty/tty_buffer.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c index a5e396217f76..56d460295c87 100644 --- a/drivers/tty/tty_buffer.c +++ b/drivers/tty/tty_buffer.c @@ -22,6 +22,15 @@ #define MIN_TTYB_SIZE 256 #define TTYB_ALIGN_MASK 255 +static void tty_buffer_reset(struct tty_buffer *p, size_t size) +{ + p->used = 0; + p->size = size; + p->next = NULL; + p->commit = 0; + p->read = 0; +} + /** * tty_buffer_free_all - free buffers used by a tty * @tty: tty to free from @@ -70,11 +79,8 @@ static struct tty_buffer *tty_buffer_alloc(struct tty_port *port, size_t size) p = kmalloc(sizeof(struct tty_buffer) + 2 * size, GFP_ATOMIC); if (p == NULL) return NULL; - p->used = 0; - p->size = size; - p->next = NULL; - p->commit = 0; - p->read = 0; + + tty_buffer_reset(p, size); port->buf.memory_used += size; return p; } @@ -185,10 +191,7 @@ static struct tty_buffer *tty_buffer_find(struct tty_port *port, size_t size) struct tty_buffer *t = *tbh; *tbh = t->next; - t->next = NULL; - t->used = 0; - t->commit = 0; - t->read = 0; + tty_buffer_reset(t, t->size); port->buf.memory_used += t->size; return t; } |