diff options
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/riscom8.c | 9 | ||||
-rw-r--r-- | drivers/char/rocket.c | 5 |
2 files changed, 9 insertions, 5 deletions
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c index a82c2a2d5e6c..221b5a292076 100644 --- a/drivers/char/riscom8.c +++ b/drivers/char/riscom8.c @@ -1161,16 +1161,17 @@ static int rc_write(struct tty_struct * tty, return total; } -static void rc_put_char(struct tty_struct * tty, unsigned char ch) +static int rc_put_char(struct tty_struct * tty, unsigned char ch) { struct riscom_port *port = (struct riscom_port *)tty->driver_data; unsigned long flags; + int ret = 0; if (rc_paranoia_check(port, tty->name, "rc_put_char")) - return; + return 0; if (!tty || !port->xmit_buf) - return; + return 0; spin_lock_irqsave(&riscom_lock, flags); @@ -1180,9 +1181,11 @@ static void rc_put_char(struct tty_struct * tty, unsigned char ch) port->xmit_buf[port->xmit_head++] = ch; port->xmit_head &= SERIAL_XMIT_SIZE - 1; port->xmit_cnt++; + ret = 1; out: spin_unlock_irqrestore(&riscom_lock, flags); + return ret; } static void rc_flush_chars(struct tty_struct * tty) diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c index 00cfb6c7fd46..743dc80a9325 100644 --- a/drivers/char/rocket.c +++ b/drivers/char/rocket.c @@ -1663,14 +1663,14 @@ static void rp_hangup(struct tty_struct *tty) * writing routines will write directly to transmit FIFO. * Write buffer and counters protected by spinlocks */ -static void rp_put_char(struct tty_struct *tty, unsigned char ch) +static int rp_put_char(struct tty_struct *tty, unsigned char ch) { struct r_port *info = (struct r_port *) tty->driver_data; CHANNEL_t *cp; unsigned long flags; if (rocket_paranoia_check(info, "rp_put_char")) - return; + return 0; /* * Grab the port write mutex, locking out other processes that try to @@ -1699,6 +1699,7 @@ static void rp_put_char(struct tty_struct *tty, unsigned char ch) } spin_unlock_irqrestore(&info->slock, flags); mutex_unlock(&info->write_mtx); + return 1; } /* |