We can't just pass back the return value of snd_soc_update_bits() as it
will be 1 if a bit changed rather than zero.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
 {
        struct snd_soc_codec *codec = codec_dai->codec;
        u8 btif;
+       int ret;
 
        /* interface format */
        switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
                return -EINVAL;
        }
 
-       return snd_soc_update_bits(codec, AK4641_BTIF, (0x3 << 5), btif);
+       ret = snd_soc_update_bits(codec, AK4641_BTIF, (0x3 << 5), btif);
+       if (ret < 0)
+               return ret;
+
+       return 0;
 }
 
 static int ak4641_i2s_set_dai_fmt(struct snd_soc_dai *codec_dai,