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 <[email protected]>
---
 drivers/regulator/anatop-regulator.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/anatop-regulator.c 
b/drivers/regulator/anatop-regulator.c
index 6135995..7d6478e 100644
--- a/drivers/regulator/anatop-regulator.c
+++ b/drivers/regulator/anatop-regulator.c
@@ -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) {
-- 
2.7.4

Reply via email to