diff mbox series

of/irq: Fix a missed udpate of out_irq->np

Message ID 20241108023440.29509-1-chanho.min@lge.com
State Changes Requested
Headers show
Series of/irq: Fix a missed udpate of out_irq->np | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 4 warnings, 7 lines checked
robh/patch-applied fail build log

Commit Message

Chanho Min Nov. 8, 2024, 2:34 a.m. UTC
Since commit 935df1bd40d4 ("of/irq: Factor out parsing of interrupt-map parent
phandle+args from of_irq_parse_raw()"), An interrupt tree without
an interrupt-map is not updated to the parent interrupt and it causes the irq
domain not to be found in some out-of-tree device-tree.

Fixes: 935df1bd40d4 ("of/irq: Factor out parsing of interrupt-map parent phandle+args from of_irq_parse_raw()")

Signed-off-by: Chanho Min <chanho.min@lge.com>
---
 drivers/of/irq.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Rob Herring (Arm) Nov. 11, 2024, 10:05 p.m. UTC | #1
On Fri, Nov 08, 2024 at 11:34:40AM +0900, Chanho Min wrote:
> Since commit 935df1bd40d4 ("of/irq: Factor out parsing of interrupt-map parent
> phandle+args from of_irq_parse_raw()"), An interrupt tree without
> an interrupt-map is not updated to the parent interrupt and it causes the irq
> domain not to be found in some out-of-tree device-tree.

Please see the comments I had in the previous fix for this[1].

TBC, I'll take the fix being trivial, but not without some details on 
what platform and what the (non-conformant) DT looks like in the commit 
message.

Rob

[1] https://lore.kernel.org/all/CAL_Jsq+Wcag2Lzu_kLRb5ia=3hNUOs1Ny93Y541eOY-NZOA5qw@mail.gmail.com/
diff mbox series

Patch

diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 8fd63100ba8f..3fa3c833e2dc 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -315,6 +315,7 @@  int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
 
 	skiplevel:
 		/* Iterate again with new parent */
+		out_irq->np = newpar;
 		pr_debug(" -> new parent: %pOF\n", newpar);
 		of_node_put(ipar);
 		ipar = newpar;