MLK-20205-3: regulator: core: fix modulo by zero
authorRobin Gong <yibin.gong@nxp.com>
Wed, 7 Nov 2018 15:58:45 +0000 (23:58 +0800)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
Fix 'Division or modulo by zero' coverity issue(CID-4159438).
In fact, no need to call set_ramp_delay() in case of ramp_disable
is true, hence, ramp_delay never be 0 while set_ramp_delay() called.

Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
drivers/regulator/core.c

index 035e869..fea1529 100644 (file)
@@ -1164,7 +1164,7 @@ static int set_machine_constraints(struct regulator_dev *rdev,
                }
        }
 
-       if ((rdev->constraints->ramp_delay || rdev->constraints->ramp_disable)
+       if ((rdev->constraints->ramp_delay && !rdev->constraints->ramp_disable)
                && ops->set_ramp_delay) {
                ret = ops->set_ramp_delay(rdev, rdev->constraints->ramp_delay);
                if (ret < 0) {