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