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 401a3be..dc487b5 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;