This series implement the LE General Connection Establishment procedure for LE connections. If there are LE bonded devices marked for auto connection they are added to a connect_list on the adapter. When there is any device on this list scan is performed continuously. When a device is found the connect_list is checked. If that device is on the list scan is stopped and a connection attempt is made to that device. If any client tries to perform discovery and the scan for the General Connection Establishment procedure is active, the discovery request is queued and performed right after the GCEP scan session finishes. This series changes quite a lot the LE connection logic, but we've been testing and using this code at INdT for about 4 weeks. Any comments and more testing are appreciated. Claudio Takahasi (6): core: Control connections based on adapter state mgmt: Add LE scanning callback core: Replace interleaved by LE scanning core: Start LE scanning when a device requests core: Queue discovery if scanning is active core: Re-connect for ECONNRESET or ECONNABORTED João Paulo Rechi Vita (7): mgmt: Print error message when start_discovery fails core: Add compare function for bdaddr in a struct btd_device core: Add a list of LE devices to connect core: Use adapter connect list for LE connections core: Mutually exclude concurrent connections mgmt: Add address type to bonding debug message core: Suspend scanning before connect on pairing Paulo Alcantara (1): core: Disable unnecessary auto connections src/adapter.c | 193 ++++++++++++++++++++++++++++++++++++++++++++------- src/adapter.h | 5 ++ src/device.c | 217 +++++++++++++++++++++++++++++----------------------------- src/device.h | 2 + src/mgmt.c | 44 +++++++++++- src/mgmt.h | 1 + 6 files changed, 325 insertions(+), 137 deletions(-) -- 1.7.11.4 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html