aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/bluetooth/hci_event.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 68c882fd20fd..aec3b1dce1cc 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -1581,7 +1581,13 @@ static void hci_check_pending_name(struct hci_dev *hdev, struct hci_conn *conn,
1581 struct discovery_state *discov = &hdev->discovery; 1581 struct discovery_state *discov = &hdev->discovery;
1582 struct inquiry_entry *e; 1582 struct inquiry_entry *e;
1583 1583
1584 if (conn && conn->state == BT_CONFIG && 1584 /* Update the mgmt connected state if necessary. Be careful with
1585 * conn objects that exist but are not (yet) connected however.
1586 * Only those in BT_CONFIG or BT_CONNECTED states can be
1587 * considered connected.
1588 */
1589 if (conn &&
1590 (conn->state == BT_CONFIG || conn->state == BT_CONNECTED) &&
1585 !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags)) 1591 !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
1586 mgmt_device_connected(hdev, conn, 0, name, name_len); 1592 mgmt_device_connected(hdev, conn, 0, name, name_len);
1587 1593