| From 63781394c540dd9e666a6b21d70b64dd52bce76e Mon Sep 17 00:00:00 2001 |
| From: Axel Lin <axel.lin@ingics.com> |
| Date: Mon, 11 May 2015 17:02:58 +0800 |
| Subject: genirq: devres: Fix testing return value of request_any_context_irq() |
| |
| From: Axel Lin <axel.lin@ingics.com> |
| |
| commit 63781394c540dd9e666a6b21d70b64dd52bce76e upstream. |
| |
| request_any_context_irq() returns a negative value on failure. |
| It returns either IRQC_IS_HARDIRQ or IRQC_IS_NESTED on success. |
| So fix testing return value of request_any_context_irq(). |
| |
| Also fixup the return value of devm_request_any_context_irq() to make it |
| consistent with request_any_context_irq(). |
| |
| Fixes: 0668d3065128 ("genirq: Add devm_request_any_context_irq()") |
| Signed-off-by: Axel Lin <axel.lin@ingics.com> |
| Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> |
| Link: http://lkml.kernel.org/r/1431334978.17783.4.camel@ingics.com |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/irq/devres.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/kernel/irq/devres.c |
| +++ b/kernel/irq/devres.c |
| @@ -104,7 +104,7 @@ int devm_request_any_context_irq(struct |
| return -ENOMEM; |
| |
| rc = request_any_context_irq(irq, handler, irqflags, devname, dev_id); |
| - if (rc) { |
| + if (rc < 0) { |
| devres_free(dr); |
| return rc; |
| } |
| @@ -113,7 +113,7 @@ int devm_request_any_context_irq(struct |
| dr->dev_id = dev_id; |
| devres_add(dev, dr); |
| |
| - return 0; |
| + return rc; |
| } |
| EXPORT_SYMBOL(devm_request_any_context_irq); |
| |