Hi, On Wed, Jun 15, 2016 at 3:26 PM, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > > It seems some Samsung Android devices may actually report no players > at all causing the following crash: > > Program terminated with signal 11, Segmentation fault. > #0 set_ct_player (player=0x0, session=<value optimized out>) > at profiles/audio/avrcp.c:3139 > #1 0xb76c0aab in player_remove (data=0xb849a100) > at profiles/audio/avrcp.c:3278 > --- > profiles/audio/avrcp.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c > index 6c8ed81..c100149 100644 > --- a/profiles/audio/avrcp.c > +++ b/profiles/audio/avrcp.c > @@ -3200,7 +3200,8 @@ static void set_ct_player(struct avrcp *session, struct avrcp_player *player) > > session->controller->player = player; > service = btd_device_get_service(session->dev, AVRCP_TARGET_UUID); > - control_set_player(service, media_player_get_path(player->user_data)); > + control_set_player(service, player ? > + media_player_get_path(player->user_data) : NULL); > } > > static struct avrcp_player *create_ct_player(struct avrcp *session, > @@ -3330,6 +3331,10 @@ static void player_remove(gpointer data) > struct avrcp_player *player = data; > GSList *l; > > + /* Don't remove reserved player */ > + if (!player->id) > + return; > + > for (l = player->sessions; l; l = l->next) { > struct avrcp *session = l->data; > struct avrcp_data *controller = session->controller; > @@ -3393,6 +3398,10 @@ static gboolean avrcp_get_media_player_list_rsp(struct avctp *conn, > > g_slist_free_full(removed, player_remove); > > + /* There should always be an active player */ > + if (!session->controller->player) > + create_ct_player(session, 0); > + > return FALSE; > } > > -- > 2.5.5 Applied. -- Luiz Augusto von Dentz -- 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