Bluetooth: Fix toggling background scan when changing connectable state
authorJohan Hedberg <johan.hedberg@intel.com>
Tue, 8 Jul 2014 13:35:34 +0000 (16:35 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 8 Jul 2014 13:38:35 +0000 (15:38 +0200)
If the connectable state change doesn't require any special HCI commands
the set_connectable_update_settings() function is used instead of the
set_connectable_complete() function. We must therefore make sure to call
hci_update_background_scan() there as well. This code path is used also
when we're powered off, but that's fine since hci_update_background_scan()
has the necessary checks for it.

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

index 376b164c5250d4de0b8f5e6820f6976941b452a6..216aa93514b69dc3caccfa4a8ead7800e936dc88 100644 (file)
@@ -1794,8 +1794,10 @@ static int set_connectable_update_settings(struct hci_dev *hdev,
        if (err < 0)
                return err;
 
-       if (changed)
+       if (changed) {
+               hci_update_background_scan(hdev);
                return new_settings(hdev, sk);
+       }
 
        return 0;
 }