aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/card/sdio_uart.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/card/sdio_uart.c')
-rw-r--r--drivers/mmc/card/sdio_uart.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/mmc/card/sdio_uart.c b/drivers/mmc/card/sdio_uart.c
index 894078be0b96..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)
381static void sdio_uart_receive_chars(struct sdio_uart_port *port, 381static void sdio_uart_receive_chars(struct sdio_uart_port *port,
382 unsigned int *status) 382 unsigned int *status)
383{ 383{
384 struct tty_struct *tty = tty_port_tty_get(&port->port);
385 unsigned int ch, flag; 384 unsigned int ch, flag;
386 int max_count = 256; 385 int max_count = 256;
387 386
@@ -418,24 +417,19 @@ static void sdio_uart_receive_chars(struct sdio_uart_port *port,
418 } 417 }
419 418
420 if ((*status & port->ignore_status_mask & ~UART_LSR_OE) == 0) 419 if ((*status & port->ignore_status_mask & ~UART_LSR_OE) == 0)
421 if (tty) 420 tty_insert_flip_char(&port->port, ch, flag);
422 tty_insert_flip_char(&port->port, ch, flag);
423 421
424 /* 422 /*
425 * Overrun is special. Since it's reported immediately, 423 * Overrun is special. Since it's reported immediately,
426 * it doesn't affect the current character. 424 * it doesn't affect the current character.
427 */ 425 */
428 if (*status & ~port->ignore_status_mask & UART_LSR_OE) 426 if (*status & ~port->ignore_status_mask & UART_LSR_OE)
429 if (tty) 427 tty_insert_flip_char(&port->port, 0, TTY_OVERRUN);
430 tty_insert_flip_char(&port->port, 0,
431 TTY_OVERRUN);
432 428
433 *status = sdio_in(port, UART_LSR); 429 *status = sdio_in(port, UART_LSR);
434 } while ((*status & UART_LSR_DR) && (max_count-- > 0)); 430 } while ((*status & UART_LSR_DR) && (max_count-- > 0));
435 if (tty) { 431
436 tty_flip_buffer_push(tty); 432 tty_flip_buffer_push(&port->port);
437 tty_kref_put(tty);
438 }
439} 433}
440 434
441static void sdio_uart_transmit_chars(struct sdio_uart_port *port) 435static void sdio_uart_transmit_chars(struct sdio_uart_port *port)