Bluetooth: Fix using test_and_clear instead of test_and_set
authorJohan Hedberg <johan.hedberg@intel.com>
Thu, 10 Jul 2014 08:50:27 +0000 (11:50 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 10 Jul 2014 08:52:09 +0000 (10:52 +0200)
The code for updating the HCI_CONNECTABLE flag was incorrectly using
test_and_set_bit instead of test_and_clear_bit when HCI_CONNECTABLE is
to be cleared.

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

index 84431b86af963d423dd19d2ffcf957508aa3a1f0..8f9df768f250fe3242e99d83b02597aaa474df2d 100644 (file)
@@ -2726,8 +2726,8 @@ int hci_dev_cmd(unsigned int cmd, void __user *arg)
                                changed = !test_and_set_bit(HCI_CONNECTABLE,
                                                            &hdev->dev_flags);
                        else
-                               changed = test_and_set_bit(HCI_CONNECTABLE,
-                                                          &hdev->dev_flags);
+                               changed = test_and_clear_bit(HCI_CONNECTABLE,
+                                                            &hdev->dev_flags);
 
                        if (changed)
                                mgmt_new_settings(hdev);