linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sathish Narasimman <nsathish41@gmail.com>
To: linux-bluetooth@vger.kernel.org
Cc: Sathish Narasimman <sathish.narasimman@intel.com>
Subject: [PATCH 4/7] Bluetooth: Translate additional address type during le_conn
Date: Wed,  3 Jun 2020 22:47:10 +0530	[thread overview]
Message-ID: <20200603171713.9882-5-sathish.narasimman@intel.com> (raw)
In-Reply-To: <20200603171713.9882-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 cfeaee347db3..9c9c434844f2 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	other threads:[~2020-06-03 17:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-03 17:17 [PATCH v2 0/7] LL Privacy support Sathish Narasimman
2020-06-03 17:17 ` [PATCH v2 1/7] Bluetooth: Translate additional address type correctly Sathish Narasimman
2020-06-03 17:17 ` [PATCH v2 2/7] Bluetooth: Configure controller address resolution if available Sathish Narasimman
2020-06-03 17:17 ` [PATCH v2 3/7] Bluetooth: Update resolving list when updating whitelist Sathish Narasimman
2020-06-03 17:17 ` Sathish Narasimman [this message]
2020-06-03 17:17 ` [PATCH 5/7] Bluetooth: Let controller creates RPA during le create conn Sathish Narasimman
2020-06-03 17:17 ` [PATCH 6/7] Bluetooth: Enable/Disable address resolution " Sathish Narasimman
2020-06-03 17:17 ` [PATCH 7/7] Bluetooth: Enable RPA Timeout Sathish Narasimman
2020-06-08  6:30 ` [PATCH v2 0/7] LL Privacy support Sathish Narasimman
2020-06-19  7:58 ` Marcel Holtmann
2020-07-01 10:02   ` 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=20200603171713.9882-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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).