Linux-Bluetooth Archive on lore.kernel.org
 help / color / Atom feed
From: Sathish Narasimman <nsathish41@gmail.com>
To: linux-bluetooth@vger.kernel.org
Cc: Sathish Narasimman <sathish.narasimman@intel.com>
Subject: [PATCH v4 4/8] Bluetooth: Translate additional address type during le_conn
Date: Mon, 13 Jul 2020 11:52:09 +0530
Message-ID: <20200713062213.3692-5-sathish.narasimman@intel.com> (raw)
In-Reply-To: <20200713062213.3692-1-sathish.narasimman@intel.com>

When using controller based address resolution, then the new address
types 0x02 and 0x03 are used. These types need to be converted back into
either public address or random address types.

This patch is specially during LE_CREATE_CONN if using own_add_type as 0x02
or 0x03.

Signed-off-by: Sathish Narasimman <sathish.narasimman@intel.com>
---
 net/bluetooth/hci_event.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 927bde511170..eae5bd4a53ac 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -2296,6 +2296,22 @@ static void cs_le_create_conn(struct hci_dev *hdev, bdaddr_t *peer_addr,
 	if (!conn)
 		return;
 
+	/* When using controller based address resolution, then the new
+	 * address types 0x02 and 0x03 are used. These types need to be
+	 * converted back into either public address or random address type
+	 */
+	if (use_ll_privacy(hdev) &&
+	    hci_dev_test_flag(hdev, HCI_LL_RPA_RESOLUTION)) {
+		switch (own_address_type) {
+		case ADDR_LE_DEV_PUBLIC_RESOLVED:
+			own_address_type = ADDR_LE_DEV_PUBLIC;
+			break;
+		case ADDR_LE_DEV_RANDOM_RESOLVED:
+			own_address_type = ADDR_LE_DEV_RANDOM;
+			break;
+		}
+	}
+
 	/* Store the initiator and responder address information which
 	 * is needed for SMP. These values will not change during the
 	 * lifetime of the connection.
-- 
2.17.1


  parent reply index

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-13  6:22 [PATCH v4 0/8] LL Privacy Support Sathish Narasimman
2020-07-13  6:22 ` [PATCH v4 1/8] Bluetooth: Translate additional address type correctly Sathish Narasimman
2020-07-13  6:22 ` [PATCH v4 2/8] Bluetooth: Configure controller address resolution if available Sathish Narasimman
2020-07-13  6:22 ` [PATCH v4 3/8] Bluetooth: Update resolving list when updating whitelist Sathish Narasimman
2020-07-13  6:22 ` Sathish Narasimman [this message]
2020-07-13  6:22 ` [PATCH v4 5/8] Bluetooth: Let controller creates RPA during le create conn Sathish Narasimman
2020-07-13  6:22 ` [PATCH v4 6/8] Bluetooth: Enable/Disable address resolution " Sathish Narasimman
2020-07-13  6:22 ` [PATCH v4 7/8] Bluetooth: Enable RPA Timeout Sathish Narasimman
2020-07-13  6:22 ` [PATCH v4 8/8] Bluetooth: Enable controller RPA resolution using Experimental feature Sathish Narasimman
2020-07-16  7:13   ` Marcel Holtmann
2020-07-23 12:23     ` Sathish Narasimman
2020-07-16  5:12 ` [PATCH v4 0/8] LL Privacy Support Sathish Narasimman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200713062213.3692-5-sathish.narasimman@intel.com \
    --to=nsathish41@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=sathish.narasimman@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-Bluetooth Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-bluetooth/0 linux-bluetooth/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-bluetooth linux-bluetooth/ https://lore.kernel.org/linux-bluetooth \
		linux-bluetooth@vger.kernel.org
	public-inbox-index linux-bluetooth

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-bluetooth


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git