diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-15 14:37:02 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-15 14:37:02 -0500 |
| commit | a9724125ad014decf008d782e60447c811391326 (patch) | |
| tree | 4fac069d155f2495907fa9c296cc5426d0eebf55 /drivers/bluetooth | |
| parent | 46f7b635569731ff81a3b72d1bcd4415b293b637 (diff) | |
| parent | c09babfab7ae8c7d79a5dce9d866fbb28b82dde4 (diff) | |
Merge tag 'tty-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial driver patches from Greg KH:
"Here's the big tty/serial driver update for 3.20-rc1. Nothing huge
here, just lots of driver updates and some core tty layer fixes as
well. All have been in linux-next with no reported issues"
* tag 'tty-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (119 commits)
serial: 8250: Fix UART_BUG_TXEN workaround
serial: driver for ETRAX FS UART
tty: remove unused variable sprop
serial: of-serial: fetch line number from DT
serial: samsung: earlycon support depends on CONFIG_SERIAL_SAMSUNG_CONSOLE
tty/serial: serial8250_set_divisor() can be static
tty/serial: Add Spreadtrum sc9836-uart driver support
Documentation: DT: Add bindings for Spreadtrum SoC Platform
serial: samsung: remove redundant interrupt enabling
tty: Remove external interface for tty_set_termios()
serial: omap: Fix RTS handling
serial: 8250_omap: Use UPSTAT_AUTORTS for RTS handling
serial: core: Rework hw-assisted flow control support
tty/serial: 8250_early: Add support for PXA UARTs
tty/serial: of_serial: add support for PXA/MMP uarts
tty/serial: of_serial: add DT alias ID handling
serial: 8250: Prevent concurrent updates to shadow registers
serial: 8250: Use canary to restart console after suspend
serial: 8250: Refactor XR17V35X divisor calculation
serial: 8250: Refactor divisor programming
...
Diffstat (limited to 'drivers/bluetooth')
| -rw-r--r-- | drivers/bluetooth/hci_ath.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/bluetooth/hci_ath.c b/drivers/bluetooth/hci_ath.c index 2ff6dfd2d3f0..9c4dcf4c62ea 100644 --- a/drivers/bluetooth/hci_ath.c +++ b/drivers/bluetooth/hci_ath.c | |||
| @@ -51,33 +51,22 @@ struct ath_struct { | |||
| 51 | 51 | ||
| 52 | static int ath_wakeup_ar3k(struct tty_struct *tty) | 52 | static int ath_wakeup_ar3k(struct tty_struct *tty) |
| 53 | { | 53 | { |
| 54 | struct ktermios ktermios; | ||
| 55 | int status = tty->driver->ops->tiocmget(tty); | 54 | int status = tty->driver->ops->tiocmget(tty); |
| 56 | 55 | ||
| 57 | if (status & TIOCM_CTS) | 56 | if (status & TIOCM_CTS) |
| 58 | return status; | 57 | return status; |
| 59 | 58 | ||
| 60 | /* Disable Automatic RTSCTS */ | ||
| 61 | ktermios = tty->termios; | ||
| 62 | ktermios.c_cflag &= ~CRTSCTS; | ||
| 63 | tty_set_termios(tty, &ktermios); | ||
| 64 | |||
| 65 | /* Clear RTS first */ | 59 | /* Clear RTS first */ |
| 66 | status = tty->driver->ops->tiocmget(tty); | 60 | tty->driver->ops->tiocmget(tty); |
| 67 | tty->driver->ops->tiocmset(tty, 0x00, TIOCM_RTS); | 61 | tty->driver->ops->tiocmset(tty, 0x00, TIOCM_RTS); |
| 68 | mdelay(20); | 62 | mdelay(20); |
| 69 | 63 | ||
| 70 | /* Set RTS, wake up board */ | 64 | /* Set RTS, wake up board */ |
| 71 | status = tty->driver->ops->tiocmget(tty); | 65 | tty->driver->ops->tiocmget(tty); |
| 72 | tty->driver->ops->tiocmset(tty, TIOCM_RTS, 0x00); | 66 | tty->driver->ops->tiocmset(tty, TIOCM_RTS, 0x00); |
| 73 | mdelay(20); | 67 | mdelay(20); |
| 74 | 68 | ||
| 75 | status = tty->driver->ops->tiocmget(tty); | 69 | status = tty->driver->ops->tiocmget(tty); |
| 76 | |||
| 77 | /* Enable Automatic RTSCTS */ | ||
| 78 | ktermios.c_cflag |= CRTSCTS; | ||
| 79 | status = tty_set_termios(tty, &ktermios); | ||
| 80 | |||
| 81 | return status; | 70 | return status; |
| 82 | } | 71 | } |
| 83 | 72 | ||
