Changes in v2: - Reordered the patches so that the important patches are first. - Added some BlueZ 4 refactoring patches. I intended to add the same profile waiting functionality to the BlueZ 4 code as I added to the BlueZ 5 code, which resulted in the refactoring patches, but then I realized that it's not necessary, because BlueZ 4 has the org.bluez.Audio interface. When Audio.Connect() is called, all audio profiles get connected, and we get a notification when the process is ready. BlueZ 5 doesn't have that capability. The refactoring patches are useful in general, so I'm sending them anyway. - Dropped the "bluetooth: don't allow creating transports for invalid devices" patch. It might have caused problems if a transport gets created before we receive properties for the device. Tanu Kaskinen (7): bluetooth: wait for all profiles to connect before creating card card-restore: don't switch profiles when availability changes bluetooth: remove a redundant assignment bluetooth: update device's valid flag after parsing properties bluetooth: unify BlueZ 4 and BlueZ 5 UUID handling bluetooth: unify BlueZ 4 and BlueZ 5 profile constant names bluetooth: refactor BlueZ 4 transport state setting src/modules/bluetooth/backend-native.c | 2 +- src/modules/bluetooth/bluez4-util.c | 123 ++++++++++---------------- src/modules/bluetooth/bluez4-util.h | 34 +++---- src/modules/bluetooth/bluez5-util.c | 127 +++++++++++++++++++++++++-- src/modules/bluetooth/bluez5-util.h | 4 +- src/modules/bluetooth/module-bluez4-device.c | 93 ++++++++++---------- src/modules/module-card-restore.c | 32 ------- 7 files changed, 230 insertions(+), 185 deletions(-) -- 2.8.1