diff options
Diffstat (limited to 'drivers/mmc/card/sdio_uart.c')
| -rw-r--r-- | drivers/mmc/card/sdio_uart.c | 13 | 
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/mmc/card/sdio_uart.c b/drivers/mmc/card/sdio_uart.c index bd57a11acc79..c931dfe6a59c 100644 --- a/drivers/mmc/card/sdio_uart.c +++ b/drivers/mmc/card/sdio_uart.c @@ -381,7 +381,6 @@ static void sdio_uart_stop_rx(struct sdio_uart_port *port)  static void sdio_uart_receive_chars(struct sdio_uart_port *port,  				    unsigned int *status)  { -	struct tty_struct *tty = tty_port_tty_get(&port->port);  	unsigned int ch, flag;  	int max_count = 256; @@ -418,23 +417,19 @@ static void sdio_uart_receive_chars(struct sdio_uart_port *port,  		}  		if ((*status & port->ignore_status_mask & ~UART_LSR_OE) == 0) -			if (tty) -				tty_insert_flip_char(tty, ch, flag); +			tty_insert_flip_char(&port->port, ch, flag);  		/*  		 * Overrun is special.  Since it's reported immediately,  		 * it doesn't affect the current character.  		 */  		if (*status & ~port->ignore_status_mask & UART_LSR_OE) -			if (tty) -				tty_insert_flip_char(tty, 0, TTY_OVERRUN); +			tty_insert_flip_char(&port->port, 0, TTY_OVERRUN);  		*status = sdio_in(port, UART_LSR);  	} while ((*status & UART_LSR_DR) && (max_count-- > 0)); -	if (tty) { -		tty_flip_buffer_push(tty); -		tty_kref_put(tty); -	} + +	tty_flip_buffer_push(&port->port);  }  static void sdio_uart_transmit_chars(struct sdio_uart_port *port)  |