Hi Mark > commit 3a9067211122 ("ASoC: soc-pcm: cleanup soc_pcm_params_symmetry()") > cleanups soc_pcm_params_symmetry() by addig new > __soc_pcm_params_symmetry() macro. > > It checks symmetry first, and checks each DAI settings if symmetry > was true. > But original code checked > > symmetric_rate : DAI_Link / CPU (A) > symmetric_channels : DAI_Link / CPU / Codec (B) > symmetric_sample_bits : DAI_Link / CPU / Codec (B) > > (A) was using for_each_rtd_cpu_dais() > (B) was using for_each_rtd_dais() > > Current code is using (B) for all symmetric_xxx. This is bug. Oops ? More older verion was symmetric_rate : DAI_Link / CPU / Codec (B) symmetric_channels : DAI_Link / CPU / Codec (B) symmetric_sample_bits : DAI_Link / CPU / Codec (B) but commit c840f7698d26 ("ASoC: soc-pcm: Merge for_each_rtd_cpu/codec_dais()") had bug, and code become symmetric_rate : DAI_Link / CPU (A) symmetric_channels : DAI_Link / CPU / Codec (B) symmetric_sample_bits : DAI_Link / CPU / Codec (B) And commit 3a9067211122 ("ASoC: soc-pcm: cleanup soc_pcm_params_symmetry()") back again symmetric_rate : DAI_Link / CPU / Codec (B) symmetric_channels : DAI_Link / CPU / Codec (B) symmetric_sample_bits : DAI_Link / CPU / Codec (B) Does this issue had been happen since older versoin ?? # aplay 44100.wav # aplay 44100.wav => [kernel] be.ak4613-hifi: ASoC: unmatched rate symmetry: 44100 - 48000 [kernel] be.ak4613-hifi: ASoC: hw_params BE failed -22 If so, correct solution should be (A2) (A1) Symmetric checks CPU only (A2) Symmetric checks both CPU / Codec, but ignores dummy-DAI Thank you for your help !! Best regards --- Kuninori Morimoto