From: Stephen Warren Date: Thu, 23 Aug 2012 18:19:18 +0000 (-0600) Subject: regulator: max8907: fix use of possibly NULL idata X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=5fc72f57e62e10d9d8347ae20f13820d811377da;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git regulator: max8907: fix use of possibly NULL idata If a regulator is not used by a board, it's quite legitimate not to provide platform data or a device tree node to configure it (i.e. regulator_init_data). In that case, during MAX8907 regulator's probe(), the idata variable will be NULL for that regulator. Prevent dereferincing it. If the MBATT regulator's init_data is not specified, or no name was specified in the constraints, the regulator will be named based on the regulator descriptor, so initialize mbatt_rail_name from there. Signed-off-by: Stephen Warren Signed-off-by: Mark Brown --- diff --git a/drivers/regulator/max8907-regulator.c b/drivers/regulator/max8907-regulator.c index 3a5104f6eed4..e97af8ef3aea 100644 --- a/drivers/regulator/max8907-regulator.c +++ b/drivers/regulator/max8907-regulator.c @@ -323,7 +323,10 @@ static __devinit int max8907_regulator_probe(struct platform_device *pdev) switch (pmic->desc[i].id) { case MAX8907_MBATT: - mbatt_rail_name = idata->constraints.name; + if (idata && idata->constraints.name) + mbatt_rail_name = idata->constraints.name; + else + mbatt_rail_name = pmic->desc[i].name; break; case MAX8907_BBAT: case MAX8907_SDBY: