mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
Bluetooth: hci_uart_set_flow_control: Fix NULL deref when using serdev
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>
This commit is contained in:
parent
c0153b0b90
commit
7841d55480
@ -41,6 +41,7 @@
|
|||||||
#include <linux/ioctl.h>
|
#include <linux/ioctl.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
#include <linux/firmware.h>
|
#include <linux/firmware.h>
|
||||||
|
#include <linux/serdev.h>
|
||||||
|
|
||||||
#include <net/bluetooth/bluetooth.h>
|
#include <net/bluetooth/bluetooth.h>
|
||||||
#include <net/bluetooth/hci_core.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 set = 0;
|
||||||
unsigned int clear = 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) {
|
if (enable) {
|
||||||
/* Disable hardware flow control */
|
/* Disable hardware flow control */
|
||||||
ktermios = tty->termios;
|
ktermios = tty->termios;
|
||||||
|
Loading…
Reference in New Issue
Block a user