From 493c4cb584a099589767d0865a72f877518eedb4 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 21 Feb 2012 17:25:22 +0200 Subject: [PATCH] --- yaml --- r: 291005 b: refs/heads/master c: 0cbf4ed6e6f43ac399afefdd14a1ee86db8de7d0 h: refs/heads/master i: 291003: d45275f3a8eb3e6bd2bb6c351468b02116b51100 v: v3 --- [refs] | 2 +- trunk/net/bluetooth/mgmt.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index acdd3227ecfd..b227ce0b4461 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5400c044f3fac38f521362d76711e4c170f78b89 +refs/heads/master: 0cbf4ed6e6f43ac399afefdd14a1ee86db8de7d0 diff --git a/trunk/net/bluetooth/mgmt.c b/trunk/net/bluetooth/mgmt.c index 563190c9f7b0..0f87030f9c30 100644 --- a/trunk/net/bluetooth/mgmt.c +++ b/trunk/net/bluetooth/mgmt.c @@ -604,9 +604,17 @@ static void service_cache_off(struct work_struct *work) static void mgmt_init_hdev(struct hci_dev *hdev) { - if (!test_and_set_bit(HCI_MGMT, &hdev->dev_flags)) + if (!test_and_set_bit(HCI_MGMT, &hdev->dev_flags)) { 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); + } + if (!test_and_set_bit(HCI_SERVICE_CACHE, &hdev->dev_flags)) schedule_delayed_work(&hdev->service_cache, msecs_to_jiffies(SERVICE_CACHE_TIMEOUT));