Re: [irqchip: irq/irqchip-next] irqchip/ls-extirq: Fix endianness detection

Sean Anderson
2022-12-16T16:37:44Z

Hi Stable maintainers,

On 12/5/22 06:21, irqchip-bot for Sean Anderson wrote:
> The following commit has been merged into the irq/irqchip-next branch of irqchip:
>
> Commit-ID: 3ae977d0e4e3a2a2ccc912ca2d20c9430508ecdd
> Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/3ae977d0e4e3a2a2ccc912ca2d20c9430508ecdd
> Author: Sean Anderson <sean.anderson@seco.com>
> AuthorDate: Thu, 01 Dec 2022 16:28:07 -05:00
> Committer: Marc Zyngier <maz@kernel.org>
> CommitterDate: Mon, 05 Dec 2022 10:39:52
>
> irqchip/ls-extirq: Fix endianness detection
>
> parent is the interrupt parent, not the parent of node. Use
> node->parent. This fixes endianness detection on big-endian platforms.
>
> Fixes: 1b00adce8afd ("irqchip/ls-extirq: Fix invalid wait context by avoiding to use regmap")
> Signed-off-by: Sean Anderson <sean.anderson@seco.com>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Link: https://lore.kernel.org/r/20221201212807.616191-1-sean.anderson@seco.com
> ---
> drivers/irqchip/irq-ls-extirq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/irqchip/irq-ls-extirq.c b/drivers/irqchip/irq-ls-extirq.c
> index d8d48b1..139f26b 100644
> --- a/drivers/irqchip/irq-ls-extirq.c
> +++ b/drivers/irqchip/irq-ls-extirq.c
> @@ -203,7 +203,7 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
> if (ret)
> goto err_parse_map;
>
> - priv->big_endian = of_device_is_big_endian(parent);
> + priv->big_endian = of_device_is_big_endian(node->parent);
> priv->is_ls1021a_or_ls1043a = of_device_is_compatible(node, "fsl,ls1021a-extirq") ||
> of_device_is_compatible(node, "fsl,ls1043a-extirq");
> raw_spin_lock_init(&priv->lock);

This patch has made it into linux/master, but it should also get
backported to 6.1. Just want to make sure this doesn't fall through the
cracks, since this was a really annoying bug to deal with (causes an IRQ
storm).

--Sean