ASoC: Intel: tgl_max98373: fix a runtime pm issue in multi-thread case
When the playback & capture streams are stopped simultaneously, the SOF PCI device will remain pm_runtime active. The root-cause is a race condition with two threads reaching the trigger function at the same time. They see another stream is active so the dapm pin is not disabled, so the codec remains active as well as the parent PCI device. For max98373, the capture stream provides feedback when playback is working and it is unused when playback is stopped. So the dapm pin should be set only when playback is active. Fixes: 94d2d089 ('ASoC: Intel: Boards: tgl_max98373: add dai_trigger function') Reviewed-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: NRander Wang <rander.wang@intel.com> Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200821195603.215535-7-pierre-louis.bossart@linux.intel.comSigned-off-by: NMark Brown <broonie@kernel.org>
Showing
想要评论请 注册 或 登录