Skip to content

Commit

Permalink
gpio: tb10x: Fix an error handling path in tb10x_gpio_probe()
Browse files Browse the repository at this point in the history
If an error occurs after a successful irq_domain_add_linear() call, it
should be undone by a corresponding irq_domain_remove(), as already done
in the remove function.

Fixes: c6ce2b6 ("gpio: add TB10x GPIO driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  • Loading branch information
Christophe JAILLET authored and Bartosz Golaszewski committed Sep 20, 2023
1 parent 2d48c30 commit b547b5e
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion drivers/gpio/gpio-tb10x.c
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
handle_edge_irq, IRQ_NOREQUEST, IRQ_NOPROBE,
IRQ_GC_INIT_MASK_CACHE);
if (ret)
return ret;
goto err_remove_domain;

gc = tb10x_gpio->domain->gc->gc[0];
gc->reg_base = tb10x_gpio->base;
Expand All @@ -209,6 +209,10 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
}

return 0;

err_remove_domain:
irq_domain_remove(tb10x_gpio->domain);
return ret;
}

static int tb10x_gpio_remove(struct platform_device *pdev)
Expand Down

0 comments on commit b547b5e

Please sign in to comment.