Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e07cfe34 authored by Pavlin Radoslavov's avatar Pavlin Radoslavov Committed by Android Git Automerger
Browse files

am d8c7b26d: Fix a crash for a race condition during Bluetooth shutdown

* commit 'd8c7b26d':
  Fix a crash for a race condition during Bluetooth shutdown
parents 16cf203a d8c7b26d
Loading
Loading
Loading
Loading
+16 −5
Original line number Diff line number Diff line
@@ -1510,15 +1510,26 @@ BOOLEAN btif_media_task_aa_rx_flush_req(void)
 *******************************************************************************/
BOOLEAN btif_media_task_aa_tx_flush_req(void)
{
    BT_HDR *p_buf;
    if (NULL == (p_buf = GKI_getbuf(sizeof(BT_HDR))))
    {
    BT_HDR *p_buf = GKI_getbuf(sizeof(BT_HDR));

    if (p_buf == NULL)
        return FALSE;
    }

    p_buf->event = BTIF_MEDIA_FLUSH_AA_TX;

    /*
     * Explicitly check whether the btif_media_cmd_msg_queue is not NULL to
     * avoid a race condition during shutdown of the Bluetooth stack.
     * This race condition is triggered when A2DP audio is streaming on
     * shutdown:
     * "btif_a2dp_on_stopped() -> btif_media_task_aa_tx_flush_req()" is called
     * to stop the particular audio stream, and this happens right after
     * the "cleanup() -> btif_a2dp_stop_media_task()" processing during
     * the shutdown of the Bluetooth stack.
     */
    if (btif_media_cmd_msg_queue != NULL)
        fixed_queue_enqueue(btif_media_cmd_msg_queue, p_buf);

    return TRUE;
}
/*******************************************************************************