From 2b480bd5660bc27b9340118c87b47acbbc6e109d Mon Sep 17 00:00:00 2001 From: Yu Liu Date: Mon, 24 Aug 2020 11:19:03 -0700 Subject: [PATCH] adapter: Mark device temporary state pairing failure This caused the device hanging around as a discovered device forever even if it is turned off or not in present. --- src/device.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/device.c b/src/device.c index f59b6c1d0..df440ce09 100644 --- a/src/device.c +++ b/src/device.c @@ -6028,6 +6028,14 @@ void device_bonding_complete(struct btd_device *device, uint8_t bdaddr_type, if (status) { device_cancel_authentication(device, TRUE); + + /* Put the device back to the temporary state so that it will be + * treated as a newly discovered device. + */ + if (!device_is_paired(device, bdaddr_type) && + !device_is_trusted(device)) + btd_device_set_temporary(device, true); + device_bonding_failed(device, status); return; } -- 2.47.3