X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fserial%2Fmpc52xx_uart.c;h=36126070d9af8ad10071600b4d53bdb9d947d661;hb=1167b2e495e42d757f9bb879c60bc0cf3391eaae;hp=7a3625f52a03b837551697cf2bc23b54bc488d32;hpb=c92758ceda477b1333fde35327cfa867dcc47bd1;p=~andy%2Flinux diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 7a3625f52a0..36126070d9a 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c @@ -732,7 +732,7 @@ static struct uart_ops mpc52xx_uart_ops = { static inline int mpc52xx_uart_int_rx_chars(struct uart_port *port) { - struct tty_struct *tty = port->info->tty; + struct tty_struct *tty = port->info->port.tty; unsigned char ch, flag; unsigned short status; @@ -783,7 +783,9 @@ mpc52xx_uart_int_rx_chars(struct uart_port *port) } } + spin_unlock(&port->lock); tty_flip_buffer_push(tty); + spin_lock(&port->lock); return psc_ops->raw_rx_rdy(port); }