diff options
author | Hans de Goede <hdegoede@redhat.com> | 2017-10-04 20:43:35 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-12-25 14:26:27 +0100 |
commit | 56ea88ec49042b34f6ba10280c1fddf0703b5e57 (patch) | |
tree | c4f5b87fb5f89812d922bfffc98ecaca4791c5d9 /drivers | |
parent | 44ee83c6d6e0b0913f32f3580270daa9c784cc0d (diff) | |
download | linux-stable-56ea88ec49042b34f6ba10280c1fddf0703b5e57.tar.gz linux-stable-56ea88ec49042b34f6ba10280c1fddf0703b5e57.tar.bz2 linux-stable-56ea88ec49042b34f6ba10280c1fddf0703b5e57.zip |
Bluetooth: hci_uart_set_flow_control: Fix NULL deref when using serdev
[ Upstream commit 7841d554809b518a22349e7e39b6b63f8a48d0fb ]
Fix a NULL pointer deref (hu->tty) when calling hci_uart_set_flow_control
on hci_uart-s using serdev.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/bluetooth/hci_ldisc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 6e2403805784..6aef3bde10d7 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -41,6 +41,7 @@ #include <linux/ioctl.h> #include <linux/skbuff.h> #include <linux/firmware.h> +#include <linux/serdev.h> #include <net/bluetooth/bluetooth.h> #include <net/bluetooth/hci_core.h> @@ -298,6 +299,12 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool enable) unsigned int set = 0; unsigned int clear = 0; + if (hu->serdev) { + serdev_device_set_flow_control(hu->serdev, !enable); + serdev_device_set_rts(hu->serdev, !enable); + return; + } + if (enable) { /* Disable hardware flow control */ ktermios = tty->termios; |