From 638d0a51e2217405b6fbfb33fe67b2399a767fbc Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Mon, 11 Aug 2014 12:47:46 +0300 Subject: [PATCH] bluetooth: Always initialize profile->available If the transport for the profile doesn't exist, the old behaviour was to leave cp->available at the default value, which is PA_AVAILABLE_UNKNOWN, but if there's no transport, the profile should be marked as unavailable. --- src/modules/bluetooth/module-bluez5-device.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/bluetooth/module-bluez5-device.c b/src/modules/bluetooth/module-bluez5-device.c index 5398a1b5f..fdf4078e9 100644 --- a/src/modules/bluetooth/module-bluez5-device.c +++ b/src/modules/bluetooth/module-bluez5-device.c @@ -1755,8 +1755,12 @@ static pa_card_profile *create_card_profile(struct userdata *u, const char *uuid *p = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY; } - if (cp && u->device->transports[*p]) - cp->available = transport_state_to_availability(u->device->transports[*p]->state); + if (cp) { + if (u->device->transports[*p]) + cp->available = transport_state_to_availability(u->device->transports[*p]->state); + else + cp->available = PA_AVAILABLE_NO; + } return cp; }