Skip to content

Commit

Permalink
serial167: switch to int put_char method
Browse files Browse the repository at this point in the history
Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Alan Cox authored and Linus Torvalds committed Apr 30, 2008
1 parent bbbbb96 commit a5b08c6
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions drivers/char/serial167.c
Original file line number Diff line number Diff line change
Expand Up @@ -1060,7 +1060,7 @@ static void config_setup(struct cyclades_port *info)

} /* config_setup */

static void cy_put_char(struct tty_struct *tty, unsigned char ch)
static int cy_put_char(struct tty_struct *tty, unsigned char ch)
{
struct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
unsigned long flags;
Expand All @@ -1070,21 +1070,22 @@ static void cy_put_char(struct tty_struct *tty, unsigned char ch)
#endif

if (serial_paranoia_check(info, tty->name, "cy_put_char"))
return;
return 0;

if (!info->xmit_buf)
return;

local_irq_save(flags);
if (info->xmit_cnt >= PAGE_SIZE - 1) {
local_irq_restore(flags);
return;
return 0;
}

info->xmit_buf[info->xmit_head++] = ch;
info->xmit_head &= PAGE_SIZE - 1;
info->xmit_cnt++;
local_irq_restore(flags);
return 1;
} /* cy_put_char */

static void cy_flush_chars(struct tty_struct *tty)
Expand Down

0 comments on commit a5b08c6

Please sign in to comment.