]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/serial/mpc52xx_uart.c
stop_machine: Wean existing callers off stop_machine_run()
[linux-2.6-omap-h63xx.git] / drivers / serial / mpc52xx_uart.c
index d93b3578c5e22f67fdb48b074478c042b81e31bf..36126070d9af8ad10071600b4d53bdb9d947d661 100644 (file)
@@ -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);
 }
@@ -1221,8 +1223,8 @@ static struct of_device_id mpc52xx_uart_of_match[] = {
 #endif
 #ifdef CONFIG_PPC_MPC512x
        { .compatible = "fsl,mpc5121-psc-uart", .data = &mpc512x_psc_ops, },
-       {},
 #endif
+       {},
 };
 
 static int __devinit