From cf3f2a2c8bae0db72233629c9da9d9f617b3f8af Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Wed, 30 Sep 2015 23:50:20 +0200 Subject: [PATCH] gpio: generic: improve error handling in bgpio_map If bgpio_map returns NULL then err should always be set. Signed-off-by: Heiner Kallweit Signed-off-by: Linus Walleij --- drivers/gpio/gpio-generic.c | 8 +++++--- 1 file 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, *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) -- 2.20.1