* [PATCH] genirq: fix error path in __setup_irq
@ 2017-06-10 22:38 Heiner Kallweit
2017-06-12 22:43 ` [tip:irq/urgent] genirq: Release resources in __setup_irq() error path tip-bot for Heiner Kallweit
0 siblings, 1 reply; 2+ messages in thread
From: Heiner Kallweit @ 2017-06-10 22:38 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Linux Kernel Mailing List
If __irq_set_trigger() fails irq_request_resources() was successfully
called before. Therefore we should release all potentially claimed
resources in the error path.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
kernel/irq/manage.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 49c37f1e..4c34696c 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1318,8 +1318,10 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
ret = __irq_set_trigger(desc,
new->flags & IRQF_TRIGGER_MASK);
- if (ret)
+ if (ret) {
+ irq_release_resources(desc);
goto out_mask;
+ }
}
desc->istate &= ~(IRQS_AUTODETECT | IRQS_SPURIOUS_DISABLED | \
--
2.13.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [tip:irq/urgent] genirq: Release resources in __setup_irq() error path
2017-06-10 22:38 [PATCH] genirq: fix error path in __setup_irq Heiner Kallweit
@ 2017-06-12 22:43 ` tip-bot for Heiner Kallweit
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Heiner Kallweit @ 2017-06-12 22:43 UTC (permalink / raw)
To: linux-tip-commits; +Cc: hpa, linux-kernel, hkallweit1, mingo, tglx
Commit-ID: fa07ab72cbb0d843429e61bf179308aed6cbe0dd
Gitweb: http://git.kernel.org/tip/fa07ab72cbb0d843429e61bf179308aed6cbe0dd
Author: Heiner Kallweit <hkallweit1@gmail.com>
AuthorDate: Sun, 11 Jun 2017 00:38:36 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Tue, 13 Jun 2017 00:40:39 +0200
genirq: Release resources in __setup_irq() error path
In case __irq_set_trigger() fails the resources requested via
irq_request_resources() are not released.
Add the missing release call into the error handling path.
Fixes: c1bacbae8192 ("genirq: Provide irq_request/release_resources chip callbacks")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/655538f5-cb20-a892-ff15-fbd2dd1fa4ec@gmail.com
---
kernel/irq/manage.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 070be98..425170d 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1312,8 +1312,10 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
ret = __irq_set_trigger(desc,
new->flags & IRQF_TRIGGER_MASK);
- if (ret)
+ if (ret) {
+ irq_release_resources(desc);
goto out_mask;
+ }
}
desc->istate &= ~(IRQS_AUTODETECT | IRQS_SPURIOUS_DISABLED | \
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-06-12 22:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-10 22:38 [PATCH] genirq: fix error path in __setup_irq Heiner Kallweit
2017-06-12 22:43 ` [tip:irq/urgent] genirq: Release resources in __setup_irq() error path tip-bot for Heiner Kallweit
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.