diff mbox series

[Bluez,v3] adapter - Device needs to be in the temporary state after pairing failed

Message ID 20200824114408.Bluez.v3.1.I21d21871d85db48b07ba847742c7cb933024307c@changeid (mailing list archive)
State Accepted
Delegated to: Luiz Von Dentz
Headers show
Series [Bluez,v3] adapter - Device needs to be in the temporary state after pairing failed | expand

Commit Message

Yu Liu Aug. 24, 2020, 6:44 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 v3:
- Fix comment format
- Don't set temporary for trusted device

Changes in v2:
- Fix title length and format issue

Changes in v1:
- Initial change

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

Patch

diff --git a/src/device.c b/src/device.c
index bb8e07e8f..103b5df27 100644
--- a/src/device.c
+++ b/src/device.c
@@ -6008,6 +6008,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;
 	}