|
@@ -463,7 +463,8 @@ static int ac97_write(struct snd_soc_codec *codec, unsigned int reg,
|
|
{
|
|
{
|
|
u16 *cache = codec->reg_cache;
|
|
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;
|
|
reg = reg >> 1;
|
|
if (reg < (ARRAY_SIZE(wm9712_reg)))
|
|
if (reg < (ARRAY_SIZE(wm9712_reg)))
|
|
cache[reg] = val;
|
|
cache[reg] = val;
|