diff options
author | Nicolin Chen <b42378@freescale.com> | 2013-11-20 18:37:09 +0800 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-11-24 13:32:50 +0000 |
commit | d3383420c969c25deffd33270ebe321e8401191a (patch) | |
tree | 39e3ddfbbc675a9ccffb8ded6cbaa6d0014636d2 /include | |
parent | 3635bf09a89cf92b80ac44198c5c8f0989624ea6 (diff) | |
download | op-kernel-dev-d3383420c969c25deffd33270ebe321e8401191a.zip op-kernel-dev-d3383420c969c25deffd33270ebe321e8401191a.tar.gz |
ASoC: soc-pcm: move DAIs parameters cleaning into hw_free()
We're now applying soc_hw_params_symmetry() to reject unmatched parameters
while we clear parameters in soc_pcm_close(). So here's a use case might be
broken by this mechanism: aplay -Dhw:0 44100.wav 48000.wav 32000.wav
In this case, we call soc_pcm_open()->soc_pcm_hw_params()->soc_pcm_hw_free()
->soc_pcm_hw_params()->soc_pcm_hw_free()->soc_pcm_close() in order. As we
only clear parameters in soc_pcm_close(). The parameters would be remained
in the system even if the playback of 44100.wav is finished.
Thus, this patch is trying to move parameters cleaning into hw_free() so that
the system can continue to serve this kind of use case.
Also, since we set them in hw_params(), it should be better to clear them in
hw_free() for symmetry.
Signed-off-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions