From: Mikel Astiz <mikel.astiz@xxxxxxxxxxxx> Another long patchset on Bluetooth, this time containing code cleanup and bugfixes. One of them, the isse solved in patch 4, was recently introduced in my previous patchset. Besides that, the main contribution is patch 14, which was a difficult-to-track double free. Patch 1 was inspired during testing, but the rest of the patches do not actually depend on it. I am not able to reproduce the issue any more, but the change seems to make sense anyway. Mikel Astiz (16): sink, source: Fix missing pa_asyncmsgq_ref() bluetooth: Ignore Device.DisconnectRequested bluetooth: Trivial function rename bluetooth: Fix potential assertion failure bluetooth: Don't find device if set profile is off bluetooth: Release transport in stop_thread() bluetooth: Unlink sink-sources in stop_thread() bluetooth: Use helper functions to move streams bluetooth: Move streams during shutdown bluetooth: Check return value of init_profile() bluetooth: Check return value of start_thread() bluetooth: Add reference counting to transports bluetooth: Add hook to tell transport was removed bluetooth: Fix double free with reference counting bluetooth: Set to off if transport removed bluetooth: Set to off instead of failing module load src/modules/bluetooth/bluetooth-util.c | 45 ++-- src/modules/bluetooth/bluetooth-util.h | 7 +- src/modules/bluetooth/module-bluetooth-device.c | 259 +++++++++++++----------- src/pulsecore/sink.c | 9 + src/pulsecore/source.c | 9 + 5 files changed, 188 insertions(+), 141 deletions(-) -- 1.7.11.4