Message ID | 20200824114408.Bluez.v3.1.I21d21871d85db48b07ba847742c7cb933024307c@changeid |
---|---|
State | Superseded |
Headers | show |
Series | [Bluez,v3] adapter - Device needs to be in the temporary state after pairing failed | expand |
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; }
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(+)