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

Commit f57f98a6 authored by Stephen Warren's avatar Stephen Warren Committed by Linus Walleij
Browse files

gpio: tegra: add missing error handling to probe



The call to gpiochip_add() is not currently error-checked. Add the
missing checking.

Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
Reviewed-by: default avatarThierry Reding <treding@nvidia.com>
Reviewed-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 7bb3ed21
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -425,6 +425,7 @@ static int tegra_gpio_probe(struct platform_device *pdev)
	struct tegra_gpio_soc_config *config;
	struct tegra_gpio_soc_config *config;
	struct resource *res;
	struct resource *res;
	struct tegra_gpio_bank *bank;
	struct tegra_gpio_bank *bank;
	int ret;
	int gpio;
	int gpio;
	int i;
	int i;
	int j;
	int j;
@@ -494,7 +495,11 @@ static int tegra_gpio_probe(struct platform_device *pdev)


	tegra_gpio_chip.of_node = pdev->dev.of_node;
	tegra_gpio_chip.of_node = pdev->dev.of_node;


	gpiochip_add(&tegra_gpio_chip);
	ret = gpiochip_add(&tegra_gpio_chip);
	if (ret < 0) {
		irq_domain_remove(irq_domain);
		return ret;
	}


	for (gpio = 0; gpio < tegra_gpio_chip.ngpio; gpio++) {
	for (gpio = 0; gpio < tegra_gpio_chip.ngpio; gpio++) {
		int irq = irq_create_mapping(irq_domain, gpio);
		int irq = irq_create_mapping(irq_domain, gpio);