From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Dean Jenkins To: Marcel Holtmann CC: Dean Jenkins , "Gustavo F . Padovan" , Johan Hedberg , Subject: [RFC V1 09/16] Bluetooth: hci_ldisc: Tidy-up HCI_UART_REGISTERED in hci_uart_tty_close() Date: Tue, 28 Mar 2017 18:50:22 +0100 Message-ID: <1490723429-28870-10-git-send-email-Dean_Jenkins@mentor.com> In-Reply-To: <1490723429-28870-1-git-send-email-Dean_Jenkins@mentor.com> References: <1490723429-28870-1-git-send-email-Dean_Jenkins@mentor.com> MIME-Version: 1.0 Content-Type: text/plain List-ID: The code in hci_uart_tty_close is over complex in handling flag HCI_UART_REGISTERED as it is unnecessary to check that hdev is NULL. This is because hdev is only valid when HCI_UART_REGISTERED is in the set state. Therefore, remove all "if (hdev)" checks and instead check for flag HCI_UART_REGISTERED being in the set state. Signed-off-by: Dean Jenkins --- drivers/bluetooth/hci_ldisc.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 9e3604d..2d5c6f0 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -500,20 +500,17 @@ static void hci_uart_tty_close(struct tty_struct *tty) return; hdev = hu->hdev; - if (hdev) + if (test_bit(HCI_UART_REGISTERED, &hu->flags)) hci_uart_close(hdev); cancel_work_sync(&hu->write_work); - if (hdev) { - if (test_bit(HCI_UART_REGISTERED, &hu->flags)) - /* Note hci_unregister_dev() may try to send a - * HCI RESET command. If the transmission fails then - * hci_unregister_dev() waits HCI_CMD_TIMEOUT - * (2) seconds for the timeout to occur. - */ - hci_unregister_dev(hdev); - } + if (test_bit(HCI_UART_REGISTERED, &hu->flags)) + /* Note hci_unregister_dev() may try to send a HCI RESET + * command. If the transmission fails then hci_unregister_dev() + * waits HCI_CMD_TIMEOUT (2) seconds for the timeout to occur. + */ + hci_unregister_dev(hdev); if (test_bit(HCI_UART_PROTO_READY, &hu->flags)) { clear_bit(HCI_UART_PROTO_READY, &hu->flags); -- 2.7.4