gpio: generic: improve error handling in bgpio_map
[deliverable/linux.git] / 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)
This page took 0.025782 seconds and 5 git commands to generate.