Bluetooth: Add flag to track managment controlled adapters
authorJohan Hedberg <johan.hedberg@nokia.com>
Tue, 4 Jan 2011 09:54:26 +0000 (11:54 +0200)
committerGustavo F. Padovan <padovan@profusion.mobi>
Tue, 8 Feb 2011 03:40:05 +0000 (01:40 -0200)
This patch adds a HCI_MGMT flag to track adapters which are under the
control of the management interface. This is needed to make sure that
new kernels will work with old user space versions. I.e. behaviour which
could break old user space versions (but is needed by the management
interface) should not be exhibited when the HCI_MGMT flag is not set.

Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
include/net/bluetooth/hci.h
net/bluetooth/mgmt.c

index 51c9df16e764b96f99d3ad455ae511514db8646c..469f8fdb2f5dbdda5492ff6e08ac3d3335257977 100644 (file)
@@ -79,6 +79,7 @@ enum {
 
        HCI_SETUP,
        HCI_AUTO_OFF,
+       HCI_MGMT,
 };
 
 /* HCI ioctl defines */
index dbb1e57766444cf65282fc10e427fa933ce87a65..5f871b385a27114c759e4b0e3bc1e6ee3cc43e6d 100644 (file)
@@ -142,6 +142,8 @@ static int read_index_list(struct sock *sk)
 
                hci_del_off_timer(d);
 
+               set_bit(HCI_MGMT, &d->flags);
+
                if (test_bit(HCI_SETUP, &d->flags))
                        continue;
 
@@ -200,6 +202,8 @@ static int read_controller_info(struct sock *sk, unsigned char *data, u16 len)
 
        hci_dev_lock_bh(hdev);
 
+       set_bit(HCI_MGMT, &hdev->flags);
+
        put_unaligned_le16(hdev->id, &rp->index);
        rp->type = hdev->dev_type;