If a device supports both HF and AG roles, then if a SCO connection related to AG profile happens, the connection is rejected because HF is not connected. One consequence is pulseaudio failing to load bluetooth module. --- audio/main.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/audio/main.c b/audio/main.c index 5c751af..a48c8b8 100644 --- a/audio/main.c +++ b/audio/main.c @@ -102,7 +102,7 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data) if (device->headset) { if (headset_get_state(device) < HEADSET_STATE_CONNECTED) { DBG("Refusing SCO from non-connected headset"); - goto drop; + goto gateway; } if (!headset_get_hfp_active(device)) { @@ -115,7 +115,11 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data) goto drop; headset_set_state(device, HEADSET_STATE_PLAYING); - } else if (device->gateway) { + goto connect; + } + +gateway: + if (device->gateway) { if (!gateway_is_connected(device)) { DBG("Refusing SCO from non-connected AG"); goto drop; @@ -126,6 +130,7 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data) } else goto drop; +connect: sk = g_io_channel_unix_get_fd(chan); fcntl(sk, F_SETFL, 0); -- 1.7.9.5 -- 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