Commit 6540351e authored by Marcel Holtmann's avatar Marcel Holtmann

Bluetooth: Translate additional address type correctly

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.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarSathish Narsimman <sathish.narasimman@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 58789a19
...@@ -2281,6 +2281,8 @@ struct hci_ev_le_conn_complete { ...@@ -2281,6 +2281,8 @@ struct hci_ev_le_conn_complete {
#define ADDR_LE_DEV_PUBLIC 0x00 #define ADDR_LE_DEV_PUBLIC 0x00
#define ADDR_LE_DEV_RANDOM 0x01 #define ADDR_LE_DEV_RANDOM 0x01
#define ADDR_LE_DEV_PUBLIC_RESOLVED 0x02
#define ADDR_LE_DEV_RANDOM_RESOLVED 0x03
#define HCI_EV_LE_ADVERTISING_REPORT 0x02 #define HCI_EV_LE_ADVERTISING_REPORT 0x02
struct hci_ev_le_advertising_info { struct hci_ev_le_advertising_info {
......
...@@ -3292,6 +3292,15 @@ struct hci_conn_params *hci_pend_le_action_lookup(struct list_head *list, ...@@ -3292,6 +3292,15 @@ struct hci_conn_params *hci_pend_le_action_lookup(struct list_head *list,
{ {
struct hci_conn_params *param; struct hci_conn_params *param;
switch (addr_type) {
case ADDR_LE_DEV_PUBLIC_RESOLVED:
addr_type = ADDR_LE_DEV_PUBLIC;
break;
case ADDR_LE_DEV_RANDOM_RESOLVED:
addr_type = ADDR_LE_DEV_RANDOM;
break;
}
list_for_each_entry(param, list, action) { list_for_each_entry(param, list, action) {
if (bacmp(&param->addr, addr) == 0 && if (bacmp(&param->addr, addr) == 0 &&
param->addr_type == addr_type) param->addr_type == addr_type)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment