Explorar el Código

ab8500_btemp: Harden platform data check

If no platform data at all is supplied the driver crashes,
extend the checks to be more careful so we can compile in the
driver and boot also without platform data present.

Acked-by: Arun Murthy <arun.murthy@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Linus Walleij hace 13 años
padre
commit
ec511672b9
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      drivers/power/ab8500_btemp.c

+ 2 - 2
drivers/power/ab8500_btemp.c

@@ -978,12 +978,12 @@ static int __devinit ab8500_btemp_probe(struct platform_device *pdev)
 
 
 	/* get btemp specific platform data */
 	/* get btemp specific platform data */
 	plat_data = pdev->dev.platform_data;
 	plat_data = pdev->dev.platform_data;
-	di->pdata = plat_data->btemp;
-	if (!di->pdata) {
+	if (!plat_data || !plat_data->btemp) {
 		dev_err(di->dev, "no btemp platform data supplied\n");
 		dev_err(di->dev, "no btemp platform data supplied\n");
 		ret = -EINVAL;
 		ret = -EINVAL;
 		goto free_device_info;
 		goto free_device_info;
 	}
 	}
+	di->pdata = plat_data->btemp;
 
 
 	/* get battery specific platform data */
 	/* get battery specific platform data */
 	di->bat = plat_data->battery;
 	di->bat = plat_data->battery;