On Tue, 2009-12-22 at 12:28 -0500, Eric Millbrandt wrote: > This patch fixes a bug where "virtual" registers were being written to the > ac97 bus. This was causing unrelated registers to become corrupted (headphone 0x04, > touchscreen 0x78, etc). > > This patch duplicates protection that was included in the wm9713 driver. > > Signed-off-by: Eric Millbrandt <emillbrandt@xxxxxxxxxxxxxxxx> > --- > sound/soc/codecs/wm9712.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c > index 0ac1215..e237bf6 100644 > --- a/sound/soc/codecs/wm9712.c > +++ b/sound/soc/codecs/wm9712.c > @@ -463,7 +463,8 @@ static int ac97_write(struct snd_soc_codec *codec, unsigned int reg, > { > u16 *cache = codec->reg_cache; > > - soc_ac97_ops.write(codec->ac97, reg, val); > + if (reg < 0x7c) > + soc_ac97_ops.write(codec->ac97, reg, val); > reg = reg >> 1; > if (reg < (ARRAY_SIZE(wm9712_reg))) > cache[reg] = val; > -- Acked-by: Liam Girdwood <lrg@xxxxxxxxxxxxxxx> _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel