Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd4d5671 authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Johan Hedberg
Browse files

Bluetooth: Ignore ADV_DIRECT_IND attempts from unknown devices



Unconditionally connecting to devices sending ADV_DIRECT_IND when
the controller is in CONNECTABLE mode is a feature that is not
fully working. The background scanning trigger for this has been
removed, but the statement allowing it to happen in case some
other part triggers is still present. So remove that code part
as well to avoid unwanted connections.

Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent f4fe73ed
Loading
Loading
Loading
Loading
+0 −6
Original line number Original line Diff line number Diff line
@@ -4266,18 +4266,12 @@ static void check_pending_le_conn(struct hci_dev *hdev, bdaddr_t *addr,
	if (hdev->conn_hash.le_num_slave > 0)
	if (hdev->conn_hash.le_num_slave > 0)
		return;
		return;


	/* If we're connectable, always connect any ADV_DIRECT_IND event */
	if (test_bit(HCI_CONNECTABLE, &hdev->dev_flags) &&
	    adv_type == LE_ADV_DIRECT_IND)
		goto connect;

	/* If we're not connectable only connect devices that we have in
	/* If we're not connectable only connect devices that we have in
	 * our pend_le_conns list.
	 * our pend_le_conns list.
	 */
	 */
	if (!hci_pend_le_action_lookup(&hdev->pend_le_conns, addr, addr_type))
	if (!hci_pend_le_action_lookup(&hdev->pend_le_conns, addr, addr_type))
		return;
		return;


connect:
	conn = hci_connect_le(hdev, addr, addr_type, BT_SECURITY_LOW,
	conn = hci_connect_le(hdev, addr, addr_type, BT_SECURITY_LOW,
			      HCI_LE_AUTOCONN_TIMEOUT, HCI_ROLE_MASTER);
			      HCI_LE_AUTOCONN_TIMEOUT, HCI_ROLE_MASTER);
	if (!IS_ERR(conn))
	if (!IS_ERR(conn))