From a34254bd27cdd7fe847fb0fb61291edcfb8e1be2 Mon Sep 17 00:00:00 2001 From: "injun.yang" Date: Tue, 3 Mar 2020 17:47:28 +0900 Subject: [PATCH] Fix : slave long term key is not loaded [Model] All [BinType] AP [Customer] OPEN [Issue#] N/A [Request] Internal [Occurrence Version] N/A [Problem] Request LE pairing again to paired device. [Cause & Measure] After BT off/on, slave long term key is not loaded. [Checking Method] Test with iOS GM [Team] Convergence BT [Developer] Injun Yang [Solution company] Samsung [Change Type] Specification change Change-Id: I4191331b69b892891e02f904554eb7733e3eabe6 --- src/adapter.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/adapter.c b/src/adapter.c index a293466..52ecbd6 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -8583,6 +8583,14 @@ static void load_devices(struct btd_adapter *adapter) ltks = g_slist_append(ltks, ltk_info); } + if (slave_ltk_info) { + ltks = g_slist_remove(ltks, slave_ltk_info); + slave_ltk_info = get_slave_ltk_info(key_file, + idaddr, bdaddr_type); + if (slave_ltk_info) + ltks = g_slist_append(ltks, slave_ltk_info); + } + if (irk_info) { str2ba(idaddr, &irk_info->bdaddr); device_set_irk_value(device, irk_info->val); -- 2.7.4