ab8500_btemp: Harden platform data check
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 13 Apr 2012 08:16:06 +0000 (10:16 +0200)
committerAnton Vorontsov <anton.vorontsov@linaro.org>
Sat, 5 May 2012 10:59:47 +0000 (03:59 -0700)
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>
drivers/power/ab8500_btemp.c

index d8bb99394ac01c1e6ebb289698dea0f8d3426cd8..e266f038a1108c3ed445966408357be2822bc082 100644 (file)
@@ -978,12 +978,12 @@ static int __devinit ab8500_btemp_probe(struct platform_device *pdev)
 
        /* get btemp specific 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");
                ret = -EINVAL;
                goto free_device_info;
        }
+       di->pdata = plat_data->btemp;
 
        /* get battery specific platform data */
        di->bat = plat_data->battery;