serial: clps711x: Fix break control handling
authorAlexander Shiyan <shc_work@mail.ru>
Sun, 14 Oct 2012 07:05:29 +0000 (11:05 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Oct 2012 18:39:47 +0000 (11:39 -0700)
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/clps711x.c

index 7b0e539ee9c0e693bf1d218252f1768c0deb5b4a..73505c1edc7d6e5c86762bba5bca18603bfa8510 100644 (file)
@@ -218,12 +218,14 @@ static void clps711xuart_break_ctl(struct uart_port *port, int break_state)
        unsigned int ubrlcr;
 
        spin_lock_irqsave(&port->lock, flags);
+
        ubrlcr = clps_readl(UBRLCR(port));
-       if (break_state == -1)
+       if (break_state)
                ubrlcr |= UBRLCR_BREAK;
        else
                ubrlcr &= ~UBRLCR_BREAK;
        clps_writel(ubrlcr, UBRLCR(port));
+
        spin_unlock_irqrestore(&port->lock, flags);
 }