From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> bap_io_disconnected was getting registered for all links while connecting which prevented bap_io_close to be called when ISO socket is disconnected thus the cig_active flag will remain set preventing the IO to be recreated. --- profiles/audio/bap.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/profiles/audio/bap.c b/profiles/audio/bap.c index 001a47bdc47b..9634ae4fc6c3 100644 --- a/profiles/audio/bap.c +++ b/profiles/audio/bap.c @@ -1936,6 +1936,8 @@ static void bap_connecting(struct bt_bap_stream *stream, bool state, int fd, if (!ep->io) { io = g_io_channel_unix_new(fd); + ep->io_id = g_io_add_watch(io, G_IO_HUP | G_IO_ERR | G_IO_NVAL, + bap_io_disconnected, ep); ep->io = io; } else io = ep->io; -- 2.41.0