From a41a27b10ac5c5c704195e3c9266255d4c301ba5 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 20 Sep 2013 17:38:49 +0300 Subject: [PATCH] emulator/bthost: Fix using correct address type for LE connections --- emulator/bthost.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/emulator/bthost.c b/emulator/bthost.c index 0a87e28b6..cdcde0666 100644 --- a/emulator/bthost.c +++ b/emulator/bthost.c @@ -564,6 +564,7 @@ static void evt_le_conn_complete(struct bthost *bthost, const void *data, uint8_t len) { const struct bt_hci_evt_le_conn_complete *ev = data; + uint8_t addr_type; if (len < sizeof(*ev)) return; @@ -571,7 +572,12 @@ static void evt_le_conn_complete(struct bthost *bthost, const void *data, if (ev->status) return; - init_conn(bthost, le16_to_cpu(ev->handle), ev->peer_addr_type); + if (ev->peer_addr_type == 0x00) + addr_type = BDADDR_LE_PUBLIC; + else + addr_type = BDADDR_LE_RANDOM; + + init_conn(bthost, le16_to_cpu(ev->handle), addr_type); } static void evt_le_meta_event(struct bthost *bthost, const void *data, -- 2.47.3