On Thu, Feb 13, 2020 at 9:57 AM CK Hu <ck.hu@xxxxxxxxxxxx> wrote: > I'm not only consider the race condition of plugged_cb and codec_dev. I > also care about the atomic of mtk_cec_hpd_high() and hdmi->plugged_cb(). > If these two function is not an atomic operation, below is an example of > problem: > > <Status disconnected> > 1. Thread A call mtk_hdmi_audio_hook_plugged_cb() > 2. Thread A call mtk_cec_hpd_high() and get disconnected. > <Status connected> > 3. Thread B call hdmi_conn_detect() > 4. Thread B call mtk_cec_hpd_high() and get connected > 5. Thread B callback plugged_cb() with connected > 6. Thread A callback plugged_cb() with disconnected (Bug here) Another attempt: https://patchwork.kernel.org/patch/11379979/ _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel