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

Tomasz Figa
2013-11-07T11:32:36Z

Hi Grant,

Could you pick this patch up? It fixes boot-up at least on several Exynos
based platforms, which use interrupt-map nodes with #interrupt-cells
higher than 1.

Also please disregard patch 2/2, as your fix that has been merged seems
to be fine.

Best regards,
Tomasz

On Tuesday 05 of November 2013 16:21:18 Tomasz Figa wrote:
> 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);
>
>