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

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
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2281,6 +2281,8 @@ struct hci_ev_le_conn_complete {

#define ADDR_LE_DEV_PUBLIC		0x00
#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
struct hci_ev_le_advertising_info {
+9 −0
Original line number Diff line number Diff line
@@ -3292,6 +3292,15 @@ struct hci_conn_params *hci_pend_le_action_lookup(struct list_head *list,
{
	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) {
		if (bacmp(&param->addr, addr) == 0 &&
		    param->addr_type == addr_type)