summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/card
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2008-07-10 12:28:48 +0100
committerPierre Ossman <drzeus@drzeus.cx>2008-07-15 15:47:04 +0200
commitc43d8636971c39da993e94082fd65bfff421618e (patch)
tree7c0d4dce441846ec4b86ee90e3c969a8f4f153fd /drivers/mmc/card
parent6a36913a33cf3d366e124f25c486a71212d02bce (diff)
sdio_uart: Fix SDIO break control to now return success or an error
This is a consequence of patch 9ea761bfef52c116fed4715d4043392c2503fe6a. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/card')
-rw-r--r--drivers/mmc/card/sdio_uart.c9
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
sdio_uart_release_func(port);
}
-static void sdio_uart_break_ctl(struct tty_struct *tty, int break_state)
+static int sdio_uart_break_ctl(struct tty_struct *tty, int break_state)
{
struct sdio_uart_port *port = tty->driver_data;
+ int result;
- if (sdio_uart_claim_func(port) != 0)
- return;
+ result = sdio_uart_claim_func(port);
+ if (result != 0)
+ return result;
if (break_state == -1)
port->lcr |= UART_LCR_SBC;
@@ -899,6 +901,7 @@ static void sdio_uart_break_ctl(struct tty_struct *tty, int break_state)
sdio_out(port, UART_LCR, port->lcr);
sdio_uart_release_func(port);
+ return 0;
}
static int sdio_uart_tiocmget(struct tty_struct *tty, struct file *file)