regulator: Fix memory garbage dev_err printout.
authorRuss Dill <Russ.Dill@ti.com>
Thu, 14 Feb 2013 12:46:33 +0000 (04:46 -0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 14 Feb 2013 16:18:39 +0000 (16:18 +0000)
commit dd8004af: 'regulator: core: Log when a device causes a voltage
constraint fail', tried to print out some information about the
check consumer min/max uV fixup, however, it uses a garbage pointer
left over from list_for_each_entry leading to boot messages in the
form:

'[    2.079890] <RANDOM ASCII>: Restricting voltage, 3735899821-4294967295uV'

Because it references regulator->dev, it could potentially read memory from
anywhere causing a panic.

This patch instead uses rdev and the updated min/max uV values.

Signed-off-by: Russ Dill <Russ.Dill@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/core.c

index abd3a05e8ee24c9ae51811d6aea8cfd58bbcf116..8d5e491514eebd98201b574f1dd4af197796405b 100644 (file)
@@ -200,8 +200,8 @@ static int regulator_check_consumers(struct regulator_dev *rdev,
        }
 
        if (*min_uV > *max_uV) {
-               dev_err(regulator->dev, "Restricting voltage, %u-%uuV\n",
-                       regulator->min_uV, regulator->max_uV);
+               rdev_err(rdev, "Restricting voltage, %u-%uuV\n",
+                       *min_uV, *max_uV);
                return -EINVAL;
        }