Hi,

On Fri, Aug 15, 2014 at 07:42:31PM +0200, Sebastian Andrzej Siewior wrote:
> --- a/drivers/tty/serial/8250/8250_core.c
> +++ b/drivers/tty/serial/8250/8250_core.c
> @@ -1899,12 +1984,22 @@ static void wait_for_xmitr(struct uart_8250_port *up, 
> int bits)
>  
>  static int serial8250_get_poll_char(struct uart_port *port)
>  {
> -     unsigned char lsr = serial_port_in(port, UART_LSR);
> +     unsigned char lsr;
> +     int status;
> +
> +     serial8250_rpm_get(up);

or up won't be defined below. You probably need 
+       struct uart_8250_port *up = up_to_u8250p(port);
somewhere in there.

> -     if (!(lsr & UART_LSR_DR))
> -             return NO_POLL_CHAR;
> +     lsr = serial_port_in(port, UART_LSR);
>  
> -     return serial_port_in(port, UART_RX);
> +     if (!(lsr & UART_LSR_DR)) {
> +             status = NO_POLL_CHAR;
> +             goto out;
> +     }
> +
> +     status = serial_port_in(port, UART_RX);
> +out:
> +     serial8250_rpm_put(up);
> +     return status;
>  }

Cheers,
Frans
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to