summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/hci_sock.c1
-rw-r--r--net/bluetooth/mgmt.c18
2 files changed, 8 insertions, 11 deletions
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index 8a814bca00d..63afd234283 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -659,7 +659,6 @@ static int hci_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_le
goto done;
}
- set_bit(HCI_PI_MGMT_INIT, &hci_pi(sk)->flags);
break;
case HCI_CHANNEL_MONITOR:
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index fa9a5896427..4b1efedc18c 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -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,