ASoC: max98088 - fix element type of the register cache.
authorChih-Chung Chang <chihchung@chromium.org>
Mon, 15 Jul 2013 16:38:46 +0000 (09:38 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 2 Aug 2013 20:14:57 +0000 (22:14 +0200)
commit cb6f66a2d278e57a6c9d8fb59bd9ebd8ab3965c2 upstream.

The registers of max98088 are 8 bits, not 16 bits. This bug causes the
contents of registers to be overwritten with bad values when the codec
is suspended and then resumed.

Signed-off-by: Chih-Chung Chang <chihchung@chromium.org>
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/soc/codecs/max98088.c

index b7cf246..d58c575 100644 (file)
@@ -1595,7 +1595,7 @@ static int max98088_dai2_digital_mute(struct snd_soc_dai *codec_dai, int mute)
 
 static void max98088_sync_cache(struct snd_soc_codec *codec)
 {
-       u16 *reg_cache = codec->reg_cache;
+       u8 *reg_cache = codec->reg_cache;
        int i;
 
        if (!codec->cache_sync)