diff mbox series

[Bluez,v1] adapter- Device needs to be in the temporary state after pairing failure.

Message ID 20200817134133.Bluez.v1.1.I21d21871d85db48b07ba847742c7cb933024307c@changeid
State New
Headers show
Series [Bluez,v1] adapter- Device needs to be in the temporary state after pairing failure. | expand

Commit Message

Yu Liu Aug. 17, 2020, 8:41 p.m. UTC
This caused the device hanging around as a discovered device forever
even if it is turned off or not in present.

Reviewed-by: sonnysasaka@chromium.org

---

Changes in v1:
- Initial change

 src/device.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/src/device.c b/src/device.c
index bb8e07e8f..93e71850c 100644
--- a/src/device.c
+++ b/src/device.c
@@ -6008,6 +6008,12 @@  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))
+			btd_device_set_temporary(device, true);
+
 		device_bonding_failed(device, status);
 		return;
 	}