ASoC: da7219: fix inappropriate condition statement
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 26 Sep 2016 22:45:07 +0000 (07:45 +0900)
committerMark Brown <broonie@kernel.org>
Tue, 27 Sep 2016 16:49:13 +0000 (09:49 -0700)
Sparse reports a below warning.

sound/soc/codecs/da7219.c:804:57: warning: dubious: x & !y

The line includes a condition statement; '(a < b) & !c'. Practically, the
evaluated value of this statement equals to the value of '(a < b) && !c'.
Although, it's not an usual way to use bitwise operations as logical
operations to several conditions.

This commit fixes the bug.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7219.c

index 65f7e98076591a366df17e017dfd222e8e41abb5..32007625913d13be771bfe29ae4cc7df2c7f14a4 100644 (file)
@@ -801,7 +801,7 @@ static int da7219_dai_event(struct snd_soc_dapm_widget *w,
                                ++i;
                                msleep(50);
                        }
-               } while ((i < DA7219_SRM_CHECK_RETRIES) & (!srm_lock));
+               } while ((i < DA7219_SRM_CHECK_RETRIES) && (!srm_lock));
 
                if (!srm_lock)
                        dev_warn(codec->dev, "SRM failed to lock\n");