Diff between 50ff50b716786fdb5656c0616d3bc1b507b3b5f2 and 3caf142f55ddda127621779335d574e89788576d

Changed Files

File Additions Deletions Status
lib/mgmt.h +1 -0 modified
plugins/mgmtops.c +4 -3 modified

Full Patch

diff --git a/lib/mgmt.h b/lib/mgmt.h
index 6c84312..22979d9 100644
--- a/lib/mgmt.h
+++ b/lib/mgmt.h
@@ -236,6 +236,7 @@ struct mgmt_ev_controller_error {
 
 #define MGMT_EV_NEW_KEY			0x000A
 struct mgmt_ev_new_key {
+	uint8_t store_hint;
 	struct mgmt_key_info key;
 } __packed;
 
diff --git a/plugins/mgmtops.c b/plugins/mgmtops.c
index be94267..a8a7ac2 100644
--- a/plugins/mgmtops.c
+++ b/plugins/mgmtops.c
@@ -407,9 +407,10 @@ static void mgmt_new_key(int sk, uint16_t index, void *buf, size_t len)
 
 	info = &controllers[index];
 
-	btd_event_link_key_notify(&info->bdaddr, &ev->key.bdaddr,
-					ev->key.val, ev->key.type,
-					ev->key.pin_len);
+	if (ev->store_hint)
+		btd_event_link_key_notify(&info->bdaddr, &ev->key.bdaddr,
+						ev->key.val, ev->key.type,
+						ev->key.pin_len);
 
 	btd_event_bonding_complete(&info->bdaddr, &ev->key.bdaddr, 0);
 }