From 4af5924c02818ca170bb6902dbb883687b969aeb Mon Sep 17 00:00:00 2001 From: Dong Aisheng Date: Fri, 14 Apr 2017 22:32:43 +0800 Subject: [PATCH] regulator: anatop: make sure regulator name is properly defined 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 Signed-off-by: Mark Brown --- 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 fa27c9de6744..606f3fa6de62 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) {