ASoC: When disabling WM8994 FLL force a source selection
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 3 Dec 2010 16:02:10 +0000 (16:02 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 3 Dec 2010 16:45:12 +0000 (16:45 +0000)
commit4514e8997fbefd5befd6176ac9785e287b4daed4
treed0f94af96bce10bd79aac2735af4a4aa3f87e202
parent062869382bb2821bb8482db1e67850dfd11296fb
ASoC: When disabling WM8994 FLL force a source selection

When we disable the WM8994 FLL code path sharing means that we end up
writing out a configuration. Currently this is the currently active
input and output frequency (which causes snd_soc_update_bits() to
suppress actual writes both immediately and in the common case where
we reenable the same configuration later) but we allow machine drivers
to pass through a source of zero. Since the register values written
are one less than the source constants this causes corruption of other
bitfields in the register.

Fix this by using the most recently configured FLL source when none is
provided.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: stable@kernel.org
sound/soc/codecs/wm8994.c