From 44f1a188d98fbbd15ea2709dd287b1604ee7fca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Narajowski?= Date: Wed, 9 Jan 2019 16:40:12 +0100 Subject: [PATCH] host: Fix conn find by RPA address When argument address is RPA then compare with peer rpa address field. --- nimble/host/src/ble_hs_conn.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nimble/host/src/ble_hs_conn.c b/nimble/host/src/ble_hs_conn.c index 00fa4f8c7..2e23da3b3 100644 --- a/nimble/host/src/ble_hs_conn.c +++ b/nimble/host/src/ble_hs_conn.c @@ -300,8 +300,14 @@ ble_hs_conn_find_by_addr(const ble_addr_t *addr) } SLIST_FOREACH(conn, &ble_hs_conns, bhc_next) { - if (ble_addr_cmp(&conn->bhc_peer_addr, addr) == 0) { - return conn; + if (BLE_ADDR_IS_RPA(addr)) { + if (ble_addr_cmp(&conn->bhc_peer_rpa_addr, addr) == 0) { + return conn; + } + } else { + if (ble_addr_cmp(&conn->bhc_peer_addr, addr) == 0) { + return conn; + } } }