Bluetooth: Enable RPA resolving if mgmt_set_privacy is called
authorJohan Hedberg <johan.hedberg@intel.com>
Mon, 24 Feb 2014 09:10:30 +0000 (11:10 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 24 Feb 2014 09:17:47 +0000 (01:17 -0800)
A user space that supports the Set Privacy command is also expected to
be able to handle New IRK events. Therefore, set the HCI_RPA_RESOLVING
flag whenever the Set Privacy command is received.

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

index 53b9408af16b40e40d63f3265704a83c9ccd7768..9865e523df20437e33be140e007727c8a60e100d 100644 (file)
@@ -4257,6 +4257,11 @@ static int set_privacy(struct sock *sk, struct hci_dev *hdev, void *cp_data,
 
        hci_dev_lock(hdev);
 
+       /* If user space supports this command it is also expected to
+        * handle IRKs. Therefore, set the HCI_RPA_RESOLVING flag.
+        */
+       set_bit(HCI_RPA_RESOLVING, &hdev->dev_flags);
+
        if (cp->privacy) {
                changed = !test_and_set_bit(HCI_PRIVACY, &hdev->dev_flags);
                memcpy(hdev->irk, cp->irk, sizeof(hdev->irk));