summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-grgpio.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2014-12-20 15:47:07 +0100
committerLinus Walleij <linus.walleij@linaro.org>2015-01-08 20:14:00 +0100
commit879828c6ade916d13a5187eb02546899c2cd496c (patch)
tree70712e3645f4c0ee39ca4bb9642ca47b7e4f5d66 /drivers/gpio/gpio-grgpio.c
parentgpio: dln2: Fix gpio output value in dln2_gpio_direction_output() (diff)
downloadlinux-879828c6ade916d13a5187eb02546899c2cd496c.tar.xz
linux-879828c6ade916d13a5187eb02546899c2cd496c.zip
gpio: grgpio: Avoid potential NULL pointer dereference
irqmap is optional property, so priv->domain can be NULL if !irqmap. Thus add NULL test for priv->domain before calling irq_domain_remove() to prevent NULL pointer dereference. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-grgpio.c')
-rw-r--r--drivers/gpio/gpio-grgpio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-grgpio.c b/drivers/gpio/gpio-grgpio.c
index 09daaf2aeb56..3a5a71050559 100644
--- a/drivers/gpio/gpio-grgpio.c
+++ b/drivers/gpio/gpio-grgpio.c
@@ -441,7 +441,8 @@ static int grgpio_probe(struct platform_device *ofdev)
err = gpiochip_add(gc);
if (err) {
dev_err(&ofdev->dev, "Could not add gpiochip\n");
- irq_domain_remove(priv->domain);
+ if (priv->domain)
+ irq_domain_remove(priv->domain);
return err;
}