diff options
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/n_tty.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/samsung.c | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index d7164bf..4484d8d 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c @@ -1989,7 +1989,9 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, tty->ops->flush_chars(tty); } else { while (nr > 0) { + mutex_lock(&tty->output_lock); c = tty->ops->write(tty, b, nr); + mutex_unlock(&tty->output_lock); if (c < 0) { retval = c; goto break_out; diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c index a3b31b8..5018800 100644 --- a/drivers/tty/serial/samsung.c +++ b/drivers/tty/serial/samsung.c @@ -483,10 +483,14 @@ static void s3c24xx_serial_set_mctrl(struct uart_port *port, unsigned int mctrl) } else { umcon &= ~S3C2410_UMCOM_AFC; } - - } else if (port->line == CONFIG_GPS_S3C_UART) { + } +#if !defined(CONFIG_MACH_KONA_EUR_LTE) && !defined(CONFIG_MACH_KONALTE_USA_ATT) + else if (port->line == CONFIG_GPS_S3C_UART) { umcon |= S3C2410_UMCOM_AFC; - } else { + } +#endif + else { + umcon &= ~S3C2410_UMCOM_AFC; } |