1. 28 Sep, 2023 5 commits
  2. 27 Sep, 2023 1 commit
    • Chancel Liu's avatar
      ASoC: soc-pcm.c: Make sure DAI parameters cleared if the DAI becomes inactive · 3efcb471
      Chancel Liu authored
      The commit 1da681e5 ("ASoC: soc-pcm.c: Clear DAIs parameters after
      stream_active is updated") tries to make sure DAI parameters can be
      cleared properly through moving the cleanup to the place where stream
      active status is updated. However, it will cause the cleanup only
      happening in soc_pcm_close().
      
      Suppose a case: aplay -Dhw:0 44100.wav 48000.wav. The case calls
      soc_pcm_open()->soc_pcm_hw_params()->soc_pcm_hw_free()->
      soc_pcm_hw_params()->soc_pcm_hw_free()->soc_pcm_close() in order. The
      parameters would be remained in the system even if the playback of
      44100.wav is finished.
      
      The case requires us clearing parameters in phase of soc_pcm_hw_free().
      However, moving the DAI parameters cleanup back to soc_pcm_hw_free()
      has the risk that DAIs parameters never be cleared if there're more
      than one stream, see commit 1da681e5 ("ASoC: soc-pcm.c: Clear DAIs
      parameters after stream_active is updated") for more details.
      
      To meet all these requirements, in addition to do DAI parameters
      cleanup in soc_pcm_hw_free(), also check it in soc_pcm_close() to make
      sure DAI parameters cleared if the DAI becomes inactive.
      
      Fixes: 1da681e5 ("ASoC: soc-pcm.c: Clear DAIs parameters after stream_active is updated")
      Signed-off-by: default avatarChancel Liu <chancel.liu@nxp.com>
      Link: https://lore.kernel.org/r/20230920153621.711373-2-chancel.liu@nxp.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      3efcb471
  3. 26 Sep, 2023 10 commits
  4. 25 Sep, 2023 24 commits