OSDN Git Service

regulator: anatop: make sure regulator name is properly defined
authorDong Aisheng <aisheng.dong@nxp.com>
Fri, 14 Apr 2017 14:32:43 +0000 (22:32 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 14 Apr 2017 17:09:26 +0000 (18:09 +0100)
For anatop regulator we must have a name accordingly. Make sure the name
is properly checked before using it to avoid a possible kernel NULL
point crash.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/anatop-regulator.c

index fa27c9d..606f3fa 100644 (file)
@@ -198,6 +198,10 @@ static int anatop_regulator_probe(struct platform_device *pdev)
        rdesc->owner = THIS_MODULE;
 
        of_property_read_string(np, "regulator-name", &rdesc->name);
+       if (!rdesc->name) {
+               dev_err(dev, "failed to get a regulator-name\n");
+               return -EINVAL;
+       }
 
        initdata = of_get_regulator_init_data(dev, np, rdesc);
        if (!initdata)
@@ -300,8 +304,7 @@ static int anatop_regulator_probe(struct platform_device *pdev)
                        sreg->sel = 22;
 
                /* set the default voltage of the pcie phy to be 1.100v */
-               if (!sreg->sel && rdesc->name &&
-                   !strcmp(rdesc->name, "vddpcie"))
+               if (!sreg->sel && !strcmp(rdesc->name, "vddpcie"))
                        sreg->sel = 0x10;
 
                if (!sreg->bypass && !sreg->sel) {