tiocmget() or tiocmset() operations are optional. Just return from
hci_uart_set_flow_control() if tiocmget() or tiocmset() operation is
NULL.

Fixes: 2a973dfada2b ("hci_uart: Add new line discipline enhancements")
Cc: <sta...@vger.kernel.org> # 4.2
Signed-off-by: Myungho Jung <mhju...@gmail.com>
---
Changes in v2:
  - Remove braces in if statment

Changes in v3:
  - Split into 2 patches
  - Add stable CC and fixes tags

 drivers/bluetooth/hci_ldisc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
index fbf7b4df23ab..cb31c2d8d826 100644
--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
@@ -314,6 +314,10 @@ void hci_uart_set_flow_control(struct hci_uart *hu, bool 
enable)
                return;
        }
 
+       /* tiocmget() and tiocmset() operations are optional */
+       if (!tty->driver->ops->tiocmget || !tty->driver->ops->tiocmset)
+               return;
+
        if (enable) {
                /* Disable hardware flow control */
                ktermios = tty->termios;
-- 
2.17.1

Reply via email to