Diff between 985d3e8d930ae6459a6e6fa0dd6ee1787b8859a9 and 9f887aed6cf6904dd88631c2432501b71d2b71de
Changed Files
| File | Additions | Deletions | Status |
| src/device.c | +5 | -0 | modified |
Full Patch
diff --git a/src/device.c b/src/device.c
index 9878b71..34902b3 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1428,6 +1428,11 @@ static DBusMessage *pair_device(DBusConnection *conn, DBusMessage *msg,
device->bonding = bonding;
bonding->device = device;
+ /* Due to a bug in the kernel we might loose out on ATT commands
+ * that arrive during the SMP procedure, so connect the ATT
+ * channel first and only then start pairing (there's code for
+ * this in the ATT connect callback)
+ */
if (device_is_le(device) && !device_is_connected(device))
err = device_connect_le(device);
else