aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-generic.c
diff options
context:
space:
mode:
authorHeiner Kallweit <hkallweit1@gmail.com>2015-09-30 17:50:20 -0400
committerLinus Walleij <linus.walleij@linaro.org>2015-10-05 03:13:39 -0400
commitcf3f2a2c8bae0db72233629c9da9d9f617b3f8af (patch)
tree9e538ad4fbdf9f5887a7e669cc369e06a5e006e9 /drivers/gpio/gpio-generic.c
parent2db8aba860c70478f6af18c410a3e513a2d2f541 (diff)
gpio: generic: improve error handling in bgpio_map
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>
Diffstat (limited to 'drivers/gpio/gpio-generic.c')
-rw-r--r--drivers/gpio/gpio-generic.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-generic.c b/drivers/gpio/gpio-generic.c
index a3f07537fe62..eefff1a29986 100644
--- a/drivers/gpio/gpio-generic.c
+++ b/drivers/gpio/gpio-generic.c
@@ -591,8 +591,10 @@ static void __iomem *bgpio_map(struct platform_device *pdev,
591 *err = 0; 591 *err = 0;
592 592
593 r = platform_get_resource_byname(pdev, IORESOURCE_MEM, name); 593 r = platform_get_resource_byname(pdev, IORESOURCE_MEM, name);
594 if (!r) 594 if (!r) {
595 *err = -EINVAL;
595 return NULL; 596 return NULL;
597 }
596 598
597 sz = resource_size(r); 599 sz = resource_size(r);
598 if (sz != sane_sz) { 600 if (sz != sane_sz) {
@@ -637,8 +639,8 @@ static int bgpio_pdev_probe(struct platform_device *pdev)
637 sz = resource_size(r); 639 sz = resource_size(r);
638 640
639 dat = bgpio_map(pdev, "dat", sz, &err); 641 dat = bgpio_map(pdev, "dat", sz, &err);
640 if (!dat) 642 if (err)
641 return err ? err : -EINVAL; 643 return err;
642 644
643 set = bgpio_map(pdev, "set", sz, &err); 645 set = bgpio_map(pdev, "set", sz, &err);
644 if (err) 646 if (err)