diff -u ltmodem.orig/v8250.c ltmodem/v8250.c --- ltmodem.orig/v8250.c 2009-04-20 00:41:24.000000000 +0000 +++ ltmodem/v8250.c 2010-01-04 21:03:43.000000000 +0000 @@ -178,7 +178,7 @@ static void receive_chars(struct vuart_8250_port *up, unsigned int *status) { - struct tty_struct *tty = up->port.info->port.tty; + struct tty_struct *tty = up->port.state->port.tty; unsigned char ch, lsr = *status; int max_count = 256; char flag; @@ -240,7 +240,7 @@ static void transmit_chars(struct vuart_8250_port *up) { - struct circ_buf *xmit = &up->port.info->xmit; + struct circ_buf *xmit = &up->port.state->xmit; int count; if (up->port.x_char) { @@ -281,7 +281,7 @@ unsigned int status = serial_in(up, UART_MSR); if (status & UART_MSR_ANY_DELTA && up->ier & UART_IER_MSI && - up->port.info != NULL) { + up->port.state != NULL) { if (status & UART_MSR_TERI) up->port.icount.rng++; if (status & UART_MSR_DDSR) @@ -291,7 +291,7 @@ if (status & UART_MSR_DCTS) uart_handle_cts_change(&up->port, status & UART_MSR_CTS); - wake_up_interruptible(&up->port.info->delta_msr_wait); + wake_up_interruptible(&up->port.state->port.delta_msr_wait); } return status;