Skip to content

Commit

Permalink
Bluetooth: Simplify hci_uart_tty_close logic
Browse files Browse the repository at this point in the history
This patch cleans up and reduces indentation in the hci_uart_tty_close
function.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
  • Loading branch information
Johan Hedberg authored and Gustavo Padovan committed Jul 17, 2012
1 parent 40f1022 commit dac670b
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions drivers/bluetooth/hci_ldisc.c
Original file line number Diff line number Diff line change
Expand Up @@ -286,28 +286,29 @@ static int hci_uart_tty_open(struct tty_struct *tty)
static void hci_uart_tty_close(struct tty_struct *tty)
{
struct hci_uart *hu = (void *)tty->disc_data;
struct hci_dev *hdev;

BT_DBG("tty %p", tty);

/* Detach from the tty */
tty->disc_data = NULL;

if (hu) {
struct hci_dev *hdev = hu->hdev;
if (!hu)
return;

if (hdev)
hci_uart_close(hdev);
hdev = hu->hdev;
if (hdev)
hci_uart_close(hdev);

if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) {
if (hdev) {
hci_unregister_dev(hdev);
hci_free_dev(hdev);
}
hu->proto->close(hu);
if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) {
if (hdev) {
hci_unregister_dev(hdev);
hci_free_dev(hdev);
}

kfree(hu);
hu->proto->close(hu);
}

kfree(hu);
}

/* hci_uart_tty_wakeup()
Expand Down

0 comments on commit dac670b

Please sign in to comment.