gpio: generic: improve error handling in bgpio_map
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 30 Sep 2015 21:50:20 +0000 (23:50 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 5 Oct 2015 07:13:39 +0000 (09:13 +0200)
If bgpio_map returns NULL then err should always be set.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-generic.c

index a3f07537fe6250864e7e829b97821555e79bf426..eefff1a299862fe7ae1ad0839ab1d4f2a1b36828 100644 (file)
@@ -591,8 +591,10 @@ static void __iomem *bgpio_map(struct platform_device *pdev,
        *err = 0;
 
        r = platform_get_resource_byname(pdev, IORESOURCE_MEM, name);
-       if (!r)
+       if (!r) {
+               *err = -EINVAL;
                return NULL;
+       }
 
        sz = resource_size(r);
        if (sz != sane_sz) {
@@ -637,8 +639,8 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
        sz = resource_size(r);
 
        dat = bgpio_map(pdev, "dat", sz, &err);
-       if (!dat)
-               return err ? err : -EINVAL;
+       if (err)
+               return err;
 
        set = bgpio_map(pdev, "set", sz, &err);
        if (err)