Bluetooth: Use hci_conn_num() for checking number of LE connections
When checking for the current number of LE connections, use
hci_conn_num() function instead of a full blown lookup within
the connection hash or direct access of the counters.
In the case of re-enabling advertising, it is more useful to
check for any connection attempt or existing connection.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 2793bfe..9a069b5 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3286,7 +3286,7 @@
* necessary).
*/
if (!hdev_is_powered(hdev) || val == enabled ||
- hci_conn_hash_lookup_state(hdev, LE_LINK, BT_CONNECTED)) {
+ hci_conn_num(hdev, LE_LINK) > 0) {
bool changed = false;
if (val != test_bit(HCI_ADVERTISING, &hdev->dev_flags)) {
@@ -4683,7 +4683,7 @@
{
struct hci_request req;
- if (hdev->conn_hash.le_num)
+ if (hci_conn_num(hdev, LE_LINK) > 0)
return;
if (!test_bit(HCI_ADVERTISING, &hdev->dev_flags))