summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Stein <alexander.stein@systec-electronic.com>2014-11-11 09:08:43 +0100
committerLinus Walleij <linus.walleij@linaro.org>2014-11-27 15:01:19 +0100
commit1c649f4c8649050947b67358467b839e950abd14 (patch)
tree17eef324242fc1122104dd1711dc22cfc97c4de2
parent1fd2b49d0bd986fb22dd0a36910f24823e7bb0a0 (diff)
gpio: mcp23s08: Do not free unrequested interrupt
If devm_request_threaded_irq fails for some reason we call mcp23s08_irq_teardown afterwards. Do not free the unrequested interrupt in this case. free_irq can also be omitted for the error free case because we use devm_request_threaded_irq. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/gpio/gpio-mcp23s08.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/gpio/gpio-mcp23s08.c b/drivers/gpio/gpio-mcp23s08.c
index 468d10d2ac1e..1ac7de85da8b 100644
--- a/drivers/gpio/gpio-mcp23s08.c
+++ b/drivers/gpio/gpio-mcp23s08.c
@@ -514,8 +514,6 @@ static void mcp23s08_irq_teardown(struct mcp23s08 *mcp)
{
unsigned int irq, i;
- free_irq(mcp->irq, mcp);
-
for (i = 0; i < mcp->chip.ngpio; i++) {
irq = irq_find_mapping(mcp->irq_domain, i);
if (irq > 0)