From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> This would make Pair act behave the same as when the device reconnect and bonding already exists. Fixes: https://github.com/bluez/bluez/issues/1125 --- src/device.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/device.c b/src/device.c index 57577e57920a..a04eebe1dff6 100644 --- a/src/device.c +++ b/src/device.c @@ -3185,10 +3185,13 @@ static DBusMessage *pair_device(DBusConnection *conn, DBusMessage *msg, if (!state->connected && btd_le_connect_before_pairing()) err = device_connect_le(device); - else + else if (!state->connected || !bt_att_set_security(device->att, + BT_ATT_SECURITY_MEDIUM)) err = adapter_create_bonding(adapter, &device->bdaddr, device->bdaddr_type, io_cap); + else + err = 0; } else { err = adapter_create_bonding(adapter, &device->bdaddr, BDADDR_BREDR, io_cap); -- 2.48.1