All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH BlueZ] [BlueZ] audio/a2dp: refcount
@ 2021-07-21  9:17 Sébastien Viande
  2021-07-21  9:58 ` [BlueZ,BlueZ] " bluez.test.bot
  2021-07-21 17:02 ` [PATCH BlueZ] [BlueZ] " Luiz Augusto von Dentz
  0 siblings, 2 replies; 3+ messages in thread
From: Sébastien Viande @ 2021-07-21  9:17 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Sébastien Viande

Fix a2dp setup.

I'm not the initial author of the code you can find the source on
https://patches.linaro.org/patch/285268/

This patch fix my problem the a2dp source not available there was only
HSP/HFP.
---
 profiles/audio/a2dp.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c
index 86bc02994..be707edda 100644
--- a/profiles/audio/a2dp.c
+++ b/profiles/audio/a2dp.c
@@ -1568,6 +1568,8 @@ static void channel_free(void *data)
 	}
 
 	avdtp_remove_state_cb(chan->state_id);
+	if (chan->session)
+		avdtp_unref(chan->session);
 
 	queue_destroy(chan->seps, remove_remote_sep);
 	free(chan->last_used);
@@ -2149,7 +2151,7 @@ static void avdtp_state_cb(struct btd_device *dev, struct avdtp *session,
 		break;
 	case AVDTP_SESSION_STATE_CONNECTED:
 		if (!chan->session)
-			chan->session = session;
+			chan->session = avdtp_ref(session);
 		load_remote_seps(chan);
 		break;
 	}
@@ -2229,6 +2231,7 @@ found:
 		channel_remove(chan);
 		return NULL;
 	}
+	avdtp_ref(chan->session);
 
 	return avdtp_ref(chan->session);
 }
@@ -2249,6 +2252,7 @@ static void connect_cb(GIOChannel *io, GError *err, gpointer user_data)
 			error("Unable to create AVDTP session");
 			goto fail;
 		}
+		avdtp_ref(chan->session);
 	}
 
 	g_io_channel_unref(chan->io);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-07-21 17:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-21  9:17 [PATCH BlueZ] [BlueZ] audio/a2dp: refcount Sébastien Viande
2021-07-21  9:58 ` [BlueZ,BlueZ] " bluez.test.bot
2021-07-21 17:02 ` [PATCH BlueZ] [BlueZ] " Luiz Augusto von Dentz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.