diff options
Diffstat (limited to 'drivers/mmc/card/sdio_uart.c')
-rw-r--r-- | drivers/mmc/card/sdio_uart.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mmc/card/sdio_uart.c b/drivers/mmc/card/sdio_uart.c index eeea84c309e..78ad48718ab 100644 --- a/drivers/mmc/card/sdio_uart.c +++ b/drivers/mmc/card/sdio_uart.c | |||
@@ -885,12 +885,14 @@ static void sdio_uart_set_termios(struct tty_struct *tty, struct ktermios *old_t | |||
885 | sdio_uart_release_func(port); | 885 | sdio_uart_release_func(port); |
886 | } | 886 | } |
887 | 887 | ||
888 | static void sdio_uart_break_ctl(struct tty_struct *tty, int break_state) | 888 | static int sdio_uart_break_ctl(struct tty_struct *tty, int break_state) |
889 | { | 889 | { |
890 | struct sdio_uart_port *port = tty->driver_data; | 890 | struct sdio_uart_port *port = tty->driver_data; |
891 | int result; | ||
891 | 892 | ||
892 | if (sdio_uart_claim_func(port) != 0) | 893 | result = sdio_uart_claim_func(port); |
893 | return; | 894 | if (result != 0) |
895 | return result; | ||
894 | 896 | ||
895 | if (break_state == -1) | 897 | if (break_state == -1) |
896 | port->lcr |= UART_LCR_SBC; | 898 | port->lcr |= UART_LCR_SBC; |
@@ -899,6 +901,7 @@ static void sdio_uart_break_ctl(struct tty_struct *tty, int break_state) | |||
899 | sdio_out(port, UART_LCR, port->lcr); | 901 | sdio_out(port, UART_LCR, port->lcr); |
900 | 902 | ||
901 | sdio_uart_release_func(port); | 903 | sdio_uart_release_func(port); |
904 | return 0; | ||
902 | } | 905 | } |
903 | 906 | ||
904 | static int sdio_uart_tiocmget(struct tty_struct *tty, struct file *file) | 907 | static int sdio_uart_tiocmget(struct tty_struct *tty, struct file *file) |