diff options
author | Alan Cox <alan@linux.intel.com> | 2009-11-30 08:16:30 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-12-11 18:18:06 -0500 |
commit | 1f100b323d19469b06a63ccd6130ed71760145cc (patch) | |
tree | de475d8906cefed5e8146ad82403e52ed9399a76 /drivers/mmc/card | |
parent | 4b3b49bb77eddb540e7c69e2129f5334cf713bf8 (diff) |
tty: sdio_uart: Fix the locking on "func" for new code
The new dtr_rts function didn't take the port->func lock as it should
so add use of the lock there.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/mmc/card')
-rw-r--r-- | drivers/mmc/card/sdio_uart.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/card/sdio_uart.c b/drivers/mmc/card/sdio_uart.c index 2a13db54ffc4..f53755533e7e 100644 --- a/drivers/mmc/card/sdio_uart.c +++ b/drivers/mmc/card/sdio_uart.c | |||
@@ -603,10 +603,14 @@ static void uart_dtr_rts(struct tty_port *tport, int onoff) | |||
603 | { | 603 | { |
604 | struct sdio_uart_port *port = | 604 | struct sdio_uart_port *port = |
605 | container_of(tport, struct sdio_uart_port, port); | 605 | container_of(tport, struct sdio_uart_port, port); |
606 | int ret = sdio_uart_claim_func(port); | ||
607 | if (ret) | ||
608 | return; | ||
606 | if (onoff == 0) | 609 | if (onoff == 0) |
607 | sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS); | 610 | sdio_uart_clear_mctrl(port, TIOCM_DTR | TIOCM_RTS); |
608 | else | 611 | else |
609 | sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS); | 612 | sdio_uart_set_mctrl(port, TIOCM_DTR | TIOCM_RTS); |
613 | sdio_uart_release_func(port); | ||
610 | } | 614 | } |
611 | 615 | ||
612 | /** | 616 | /** |