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/