Re: [PATCH v3 2/2] Bluetooth: hci_ldisc: Add NULL check for tiocmget() and tiocmset() in hci_uart_set_flow_control()

From: Marcel Holtmann
Date: Sat Jul 06 2019 - 06:49:25 EST


Hi Myungho,

> 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: <stable@xxxxxxxxxxxxxxx> # 4.2
> Signed-off-by: Myungho Jung <mhjungk@xxxxxxxxx>
> ---
> 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;
> +

lets just fail setting the line discipline if these ops are not available. Doing some silent ignoring is not going to help.

Regards

Marcel