|
@@ -615,19 +615,17 @@ static void service_cache_off(struct work_struct *work)
|
|
|
|
|
|
static void mgmt_init_hdev(struct sock *sk, struct hci_dev *hdev)
|
|
|
{
|
|
|
- if (!test_and_clear_bit(HCI_PI_MGMT_INIT, &hci_pi(sk)->flags))
|
|
|
+ if (test_and_set_bit(HCI_MGMT, &hdev->dev_flags))
|
|
|
return;
|
|
|
|
|
|
- if (!test_and_set_bit(HCI_MGMT, &hdev->dev_flags)) {
|
|
|
- INIT_DELAYED_WORK(&hdev->service_cache, service_cache_off);
|
|
|
+ INIT_DELAYED_WORK(&hdev->service_cache, service_cache_off);
|
|
|
|
|
|
- /* Non-mgmt controlled devices get this bit set
|
|
|
- * implicitly so that pairing works for them, however
|
|
|
- * for mgmt we require user-space to explicitly enable
|
|
|
- * it
|
|
|
- */
|
|
|
- clear_bit(HCI_PAIRABLE, &hdev->dev_flags);
|
|
|
- }
|
|
|
+ /* Non-mgmt controlled devices get this bit set
|
|
|
+ * implicitly so that pairing works for them, however
|
|
|
+ * for mgmt we require user-space to explicitly enable
|
|
|
+ * it
|
|
|
+ */
|
|
|
+ clear_bit(HCI_PAIRABLE, &hdev->dev_flags);
|
|
|
}
|
|
|
|
|
|
static int read_controller_info(struct sock *sk, struct hci_dev *hdev,
|