Skip to contentSkip to conversation

genirq: devres: Fix testing return value of request_any_context_irq()

PATCH In review Axel Lin 3 participants 3 messages May 11, 2015 – May 13, 2015 IRQ

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH v2 1/1 genirq: devres: Fix testing return value of request_any_context_irq()

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()")

---
v2: Also fixup return value of devm_request_any_context_irq

 kernel/irq/devres.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/irq/devres.c +2 -2
index d5d0f73..74d90a7 100644
@@ -104,7 +104,7 @@ int devm_request_any_context_irq(struct device *dev, unsigned int irq,
 		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 device *dev, unsigned int irq,
 	dr->dev_id = dev_id;
 	devres_add(dev, dr);
 
-	return 0;
+	return rc;
 }
 EXPORT_SYMBOL(devm_request_any_context_irq);
 
Signature · 1 line
2.1.0
Reviewed-by on v2 1/1
#1 lore raw
Quoted 10 lines · Axel Lin

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()")

---

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
#2 lore raw
In reply to Axel Lin
genirq: devres: Fix testing return value of request_any_context_irq()
Commit-ID:  63781394c540dd9e666a6b21d70b64dd52bce76e
Gitweb:     http://git.kernel.org/tip/63781394c540dd9e666a6b21d70b64dd52bce76e
Author:     Axel Lin <[email protected]>
AuthorDate: Mon, 11 May 2015 17:02:58 +0800
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Wed, 13 May 2015 10:47:37 +0200

genirq: devres: Fix testing return value of request_any_context_irq()

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()")
---
 kernel/irq/devres.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/irq/devres.c +2 -2
index d5d0f73..74d90a7 100644
@@ -104,7 +104,7 @@ int devm_request_any_context_irq(struct device *dev, unsigned int irq,
 		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 device *dev, unsigned int irq,
 	dr->dev_id = dev_id;
 	devres_add(dev, dr);
 
-	return 0;
+	return rc;
 }
 EXPORT_SYMBOL(devm_request_any_context_irq);