[PATCH 1/2] of: irq: Fix interrupt-map entry matching

Tomasz Figa
2013-11-05T15:21:26Z

This patch fixes interrupt-map entry matching code to properly match all
specifier cells with interrupt map entries.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
---
drivers/of/irq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 0ed5ed4..717eed4 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -195,7 +195,7 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
/* Compare specifiers */
match = 1;
for (i = 0; i < (addrsize + intsize); i++, imaplen--)
- match = !((match_array[i] ^ *imap++) & imask[i]);
+ match &= !((match_array[i] ^ *imap++) & imask[i]);

pr_debug(" -> match=%d (imaplen=%d)\n", match, imaplen);

--
1.8.4.2