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: [email protected]
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
 arch/arm/mach-s3c24xx/mach-osiris-dvs.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-s3c24xx/mach-osiris-dvs.c 
b/arch/arm/mach-s3c24xx/mach-osiris-dvs.c
index 058ce73137e8..ccbd7b7965ca 100644
--- a/arch/arm/mach-s3c24xx/mach-osiris-dvs.c
+++ b/arch/arm/mach-s3c24xx/mach-osiris-dvs.c
@@ -65,16 +65,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);
-- 
2.20.1

Reply via email to