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

Message ID 167023926482.4906.17012979311813913704.tip-bot2@tip-bot2
State New
Headers
Series [irqchip:,irq/irqchip-next] irqchip/ls-extirq: Fix endianness detection |

Commit Message

tip-bot2 for Thomas Gleixner Dec. 5, 2022, 11:21 a.m. UTC
  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(-)
  

Comments

Sean Anderson Dec. 16, 2022, 4:37 p.m. UTC | #1
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
  
Marc Zyngier Dec. 16, 2022, 6:22 p.m. UTC | #2
On 2022-12-16 16:37, Sean Anderson wrote:
> 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).

If you wanted it backported, why didn't it have a Cc: stable
the first place? In any case, if you want a backport to happen,
you'll have to post that backport.

Thanks,

         M.
  
Sean Anderson Dec. 16, 2022, 7:11 p.m. UTC | #3
On 12/16/22 13:22, Marc Zyngier wrote:
> On 2022-12-16 16:37, Sean Anderson wrote:
>> 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).
> 
> If you wanted it backported, why didn't it have a Cc: stable
> the first place? In any case, if you want a backport to happen,
> you'll have to post that backport.

Usually, anything with a Fixes: tag gets picked up. Actually, I was
expecting you to submit a PR for 6.1, since this was submitted before
that release came out.

That said, this email is "option 2" of
Documentation/process/stable-kernel-rules.rst, so I don't think I need
to do "option 3".

--Sean
  
Marc Zyngier Dec. 16, 2022, 7:23 p.m. UTC | #4
On 2022-12-16 19:11, Sean Anderson wrote:
> On 12/16/22 13:22, Marc Zyngier wrote:
>> On 2022-12-16 16:37, Sean Anderson wrote:
>>> 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).
>> 
>> If you wanted it backported, why didn't it have a Cc: stable
>> the first place? In any case, if you want a backport to happen,
>> you'll have to post that backport.
> 
> Usually, anything with a Fixes: tag gets picked up.

And I actively object to this for the subsystems I maintain,
so no, this isn't automatic.

> Actually, I was
> expecting you to submit a PR for 6.1, since this was submitted before
> that release came out.

Expectations are better stated rather than being implicit.

> That said, this email is "option 2" of
> Documentation/process/stable-kernel-rules.rst, so I don't think I need
> to do "option 3".

Here's to hope!

         M.
  
Greg KH Dec. 19, 2022, 12:17 p.m. UTC | #5
On Fri, Dec 16, 2022 at 07:23:36PM +0000, Marc Zyngier wrote:
> On 2022-12-16 19:11, Sean Anderson wrote:
> > On 12/16/22 13:22, Marc Zyngier wrote:
> > > On 2022-12-16 16:37, Sean Anderson wrote:
> > > > 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).
> > > 
> > > If you wanted it backported, why didn't it have a Cc: stable
> > > the first place? In any case, if you want a backport to happen,
> > > you'll have to post that backport.
> > 
> > Usually, anything with a Fixes: tag gets picked up.

That is NEVER guaranteed at all, please use the system we have had for
the past 18+ years and properly tag patches with "cc: stable" that you
want applied to a stable tree.

> > Actually, I was
> > expecting you to submit a PR for 6.1, since this was submitted before
> > that release came out.
> 
> Expectations are better stated rather than being implicit.
> 
> > That said, this email is "option 2" of
> > Documentation/process/stable-kernel-rules.rst, so I don't think I need
> > to do "option 3".
> 
> Here's to hope!

I queued it up now, thanks.

greg k-h
  

Patch

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);