• Mark Brown's avatar
    ASoC: When disabling WM8994 FLL force a source selection · 4514e899
    Mark Brown authored
    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: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    Cc: stable@kernel.org
    4514e899
wm8994.c 86.9 KB