ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Thu, 3 Jan 2019 20:14:08 +0000 (14:14 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Mar 2019 12:19:52 +0000 (13:19 +0100)
commit e2477233145f2156434afb799583bccd878f3e9f upstream.

Fix boolean expressions by using logical AND operator '&&' instead of
bitwise operator '&'.

This issue was detected with the help of Coccinelle.

Fixes: 4fa084af28ca ("ARM: OSIRIS: DVS (Dynamic Voltage Scaling) supoort.")
Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
[krzk: Fix -Wparentheses warning]
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mach-s3c24xx/mach-osiris-dvs.c

index 262ab07..f4fdfca 100644 (file)
@@ -70,16 +70,16 @@ static int osiris_dvs_notify(struct notifier_block *nb,
 
        switch (val) {
        case CPUFREQ_PRECHANGE:
-               if (old_dvs & !new_dvs ||
-                   cur_dvs & !new_dvs) {
+               if ((old_dvs && !new_dvs) ||
+                   (cur_dvs && !new_dvs)) {
                        pr_debug("%s: exiting dvs\n", __func__);
                        cur_dvs = false;
                        gpio_set_value(OSIRIS_GPIO_DVS, 1);
                }
                break;
        case CPUFREQ_POSTCHANGE:
-               if (!old_dvs & new_dvs ||
-                   !cur_dvs & new_dvs) {
+               if ((!old_dvs && new_dvs) ||
+                   (!cur_dvs && new_dvs)) {
                        pr_debug("entering dvs\n");
                        cur_dvs = true;
                        gpio_set_value(OSIRIS_GPIO_DVS, 0);