Bluetooth: Fix HCIUARTGETDEVICE ioctl when UART is not registered
authorMarcel Holtmann <marcel@holtmann.org>
Sat, 12 Jul 2014 15:00:29 +0000 (17:00 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Sat, 12 Jul 2014 15:37:34 +0000 (18:37 +0300)
The protocol for the UART might be configured, but that does not
mean the HCI device is registered. Return an error in that case
and only return the index number when HCI_UART_REGISTERED is set.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
drivers/bluetooth/hci_ldisc.c

index 401a3be57cdadb1fa223c45909cc9e658cc2874f..dc487b5d11568f9ebcfec033ee0bc47f6d34ece0 100644 (file)
@@ -539,7 +539,7 @@ static int hci_uart_tty_ioctl(struct tty_struct *tty, struct file * file,
                return -EUNATCH;
 
        case HCIUARTGETDEVICE:
-               if (test_bit(HCI_UART_PROTO_SET, &hu->flags))
+               if (test_bit(HCI_UART_REGISTERED, &hu->flags))
                        return hu->hdev->id;
                return -EUNATCH;