On 26.04.2017 14:19, Luiz Augusto von Dentz wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz at intel.com> > > Check the card Type property instead of assuming ofono would only be used > for HF role. > --- > src/modules/bluetooth/backend-ofono.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/src/modules/bluetooth/backend-ofono.c b/src/modules/bluetooth/backend-ofono.c > index e18772d..3fbf153 100644 > --- a/src/modules/bluetooth/backend-ofono.c > +++ b/src/modules/bluetooth/backend-ofono.c > @@ -209,6 +209,7 @@ static void hf_audio_agent_card_found(pa_bluetooth_backend *backend, const char > const char *key, *value; > struct hf_audio_card *card; > pa_bluetooth_device *d; > + pa_bluetooth_profile_t p = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY; > > pa_assert(backend); > pa_assert(path); > @@ -240,7 +241,12 @@ static void hf_audio_agent_card_found(pa_bluetooth_backend *backend, const char > } else if (pa_streq(key, "LocalAddress")) { > pa_xfree(card->local_address); > card->local_address = pa_xstrdup(value); > - } > + } else if (pa_streq(key, "Type")) { > + if (pa_streq(value, "gateway")) > + p = PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT; > + else if pa_streq(value, "handsfree") > + p = PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY; > + } Missing parentheses around the "else if" condition. Do we need it at all? Maybe just add a comment that we assume that the remote role is PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY if the type is not set to "gateway". > > pa_log_debug("%s: %s", key, value); > > @@ -253,7 +259,7 @@ static void hf_audio_agent_card_found(pa_bluetooth_backend *backend, const char > goto fail; > } > > - card->transport = pa_bluetooth_transport_new(d, backend->ofono_bus_id, path, PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY, NULL, 0); > + card->transport = pa_bluetooth_transport_new(d, backend->ofono_bus_id, path, p, NULL, 0); > card->transport->acquire = hf_audio_agent_transport_acquire; > card->transport->release = hf_audio_agent_transport_release; > card->transport->userdata = card;