On Wed, Feb 17, 2010 at 01:06:30PM +0000, Alan Cox wrote: > The USB drivers often want to insert a series of bytes all with the same > flag set - provide a helper for this case. > > Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> > --- > > drivers/char/tty_buffer.c | 12 +++++++----- > include/linux/tty_flip.h | 7 ++++++- > 2 files changed, 13 insertions(+), 6 deletions(-) > > > diff --git a/drivers/char/tty_buffer.c b/drivers/char/tty_buffer.c > index 8402eda..af8d977 100644 > --- a/drivers/char/tty_buffer.c > +++ b/drivers/char/tty_buffer.c > @@ -231,9 +231,10 @@ int tty_buffer_request_room(struct tty_struct *tty, size_t size) > EXPORT_SYMBOL_GPL(tty_buffer_request_room); > > /** > - * tty_insert_flip_string - Add characters to the tty buffer > + * tty_insert_flip_string_fixed_flag - Add characters to the tty buffer > * @tty: tty structure > * @chars: characters > + * @flag: flag value for each character > * @size: size > * > * Queue a series of bytes to the tty buffering. All the characters > @@ -242,18 +243,19 @@ EXPORT_SYMBOL_GPL(tty_buffer_request_room); > * Locking: Called functions may take tty->buf.lock > */ > > -int tty_insert_flip_string(struct tty_struct *tty, const unsigned char *chars, > - size_t size) > +int tty_insert_flip_string_fixed_flag(struct tty_struct *tty, > + const unsigned char *chars, char flag, size_t size) > { > int copied = 0; > do { > + int goal = min(size - copied, TTY_BUFFER_PAGE); This variable isn't used in this function. > int space = tty_buffer_request_room(tty, goal); > struct tty_buffer *tb = tty->buf.tail; > /* If there is no space then tb may be NULL */ > if (unlikely(space == 0)) > break; > memcpy(tb->char_buf_ptr + tb->used, chars, space); > - memset(tb->flag_buf_ptr + tb->used, TTY_NORMAL, space); > + memset(tb->flag_buf_ptr + tb->used, flag, space); Should you have "goal" here instead of "space"? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html