Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 246a144e authored by Linus Walleij's avatar Linus Walleij
Browse files

gpio: vr41xx: fix up errorpath on probe()



The driver was not checking the return value from gpiochip_add()
properly, so add a bail-out check.

Reported-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 7cb5409b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -515,7 +515,7 @@ static int giu_probe(struct platform_device *pdev)
	struct resource *res;
	unsigned int trigger, i, pin;
	struct irq_chip *chip;
	int irq, retval;
	int irq, ret;

	switch (pdev->id) {
	case GPIO_50PINS_PULLUPDOWN:
@@ -544,7 +544,11 @@ static int giu_probe(struct platform_device *pdev)

	vr41xx_gpio_chip.dev = &pdev->dev;

	retval = gpiochip_add(&vr41xx_gpio_chip);
	ret = gpiochip_add(&vr41xx_gpio_chip);
	if (!ret) {
		iounmap(giu_base);
		return -ENODEV;
	}

	giu_write(GIUINTENL, 0);
	giu_write(GIUINTENH, 0);