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

Commit 5baa6a5f authored by Bharath Ramachandramurthy's avatar Bharath Ramachandramurthy
Browse files

hal: fix race condition between sthal and ahal

When SSR happens the callbacks between sthal and ahal
are called within each context aquiring the locks resulting
in race condition. Fixed by removing lock before calling
the sthal callback.

Change-Id: I6cd88d25758f9c0a6ca39141df6629e2f8b6c0c5
parent 8f0b1432
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -139,12 +139,12 @@ void audio_extn_sound_trigger_stop_lab(struct stream_in *in)

    pthread_mutex_lock(&st_dev->lock);
    st_ses_info = get_sound_trigger_info(in->capture_handle);
    pthread_mutex_unlock(&st_dev->lock);
    if (st_ses_info) {
        event.u.ses_info = st_ses_info->st_ses;
        ALOGV("%s: AUDIO_EVENT_STOP_LAB pcm %p", __func__, st_ses_info->st_ses.pcm);
        st_dev->st_callback(AUDIO_EVENT_STOP_LAB, &event);
    }
    pthread_mutex_unlock(&st_dev->lock);
}
void audio_extn_sound_trigger_check_and_get_session(struct stream_in *in)
{