diff mbox

irqchip: brcmstb-l2: Level-2 interrupts are edge sensitive

Message ID 1402337102-19428-1-git-send-email-f.fainelli@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Florian Fainelli June 9, 2014, 6:05 p.m. UTC
The driver was configuring the interrupt handler for the Level-2
interrupts to be "level" triggered while they are in fact "edge"
triggered. Fix this by using the correct handler.

Reported-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/irqchip/irq-brcmstb-l2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Florian Fainelli June 12, 2014, 7:13 p.m. UTC | #1
2014-06-09 11:05 GMT-07:00 Florian Fainelli <f.fainelli@gmail.com>:
> The driver was configuring the interrupt handler for the Level-2
> interrupts to be "level" triggered while they are in fact "edge"
> triggered. Fix this by using the correct handler.
>
> Reported-by: Brian Norris <computersforpeace@gmail.com>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Jason, Thomas, this driver just got merged into 3.16-rc0, can you
carry this fix such that it gets into a future 3.16-rc? Thanks!

> ---
>  drivers/irqchip/irq-brcmstb-l2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c
> index 8ee2a36d5840..c15c840987d2 100644
> --- a/drivers/irqchip/irq-brcmstb-l2.c
> +++ b/drivers/irqchip/irq-brcmstb-l2.c
> @@ -150,7 +150,7 @@ int __init brcmstb_l2_intc_of_init(struct device_node *np,
>
>         /* Allocate a single Generic IRQ chip for this node */
>         ret = irq_alloc_domain_generic_chips(data->domain, 32, 1,
> -                               np->full_name, handle_level_irq, clr, 0, 0);
> +                               np->full_name, handle_edge_irq, clr, 0, 0);
>         if (ret) {
>                 pr_err("failed to allocate generic irq chip\n");
>                 goto out_free_domain;
> --
> 1.9.1
>
Florian Fainelli June 20, 2014, 6:26 p.m. UTC | #2
2014-06-12 12:13 GMT-07:00 Florian Fainelli <f.fainelli@gmail.com>:
> 2014-06-09 11:05 GMT-07:00 Florian Fainelli <f.fainelli@gmail.com>:
>> The driver was configuring the interrupt handler for the Level-2
>> interrupts to be "level" triggered while they are in fact "edge"
>> triggered. Fix this by using the correct handler.
>>
>> Reported-by: Brian Norris <computersforpeace@gmail.com>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>
> Jason, Thomas, this driver just got merged into 3.16-rc0, can you
> carry this fix such that it gets into a future 3.16-rc? Thanks!

Ping! I want to make sure this gets into a next 3.16-rc pull request.
Andrew, can you take that one if neither Thomas nor Andrew respond in
a timely manner?

Thanks!

>
>> ---
>>  drivers/irqchip/irq-brcmstb-l2.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c
>> index 8ee2a36d5840..c15c840987d2 100644
>> --- a/drivers/irqchip/irq-brcmstb-l2.c
>> +++ b/drivers/irqchip/irq-brcmstb-l2.c
>> @@ -150,7 +150,7 @@ int __init brcmstb_l2_intc_of_init(struct device_node *np,
>>
>>         /* Allocate a single Generic IRQ chip for this node */
>>         ret = irq_alloc_domain_generic_chips(data->domain, 32, 1,
>> -                               np->full_name, handle_level_irq, clr, 0, 0);
>> +                               np->full_name, handle_edge_irq, clr, 0, 0);
>>         if (ret) {
>>                 pr_err("failed to allocate generic irq chip\n");
>>                 goto out_free_domain;
>> --
>> 1.9.1
>>
>
>
>
> --
> Florian
Jason Cooper June 20, 2014, 6:48 p.m. UTC | #3
On Fri, Jun 20, 2014 at 11:26:33AM -0700, Florian Fainelli wrote:
> 2014-06-12 12:13 GMT-07:00 Florian Fainelli <f.fainelli@gmail.com>:
> > 2014-06-09 11:05 GMT-07:00 Florian Fainelli <f.fainelli@gmail.com>:
> >> The driver was configuring the interrupt handler for the Level-2
> >> interrupts to be "level" triggered while they are in fact "edge"
> >> triggered. Fix this by using the correct handler.
> >>
> >> Reported-by: Brian Norris <computersforpeace@gmail.com>
> >> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> >
> > Jason, Thomas, this driver just got merged into 3.16-rc0, can you
> > carry this fix such that it gets into a future 3.16-rc? Thanks!
> 
> Ping! I want to make sure this gets into a next 3.16-rc pull request.
> Andrew, can you take that one if neither Thomas nor Andrew respond in
> a timely manner?
> 
> Thanks!

relax.  ;-)  I'm doing at least fixes today.

thx,

Jason.
Thomas Gleixner June 20, 2014, 10:09 p.m. UTC | #4
On Fri, 20 Jun 2014, Florian Fainelli wrote:
> 2014-06-12 12:13 GMT-07:00 Florian Fainelli <f.fainelli@gmail.com>:
> > 2014-06-09 11:05 GMT-07:00 Florian Fainelli <f.fainelli@gmail.com>:
> >> The driver was configuring the interrupt handler for the Level-2
> >> interrupts to be "level" triggered while they are in fact "edge"
> >> triggered. Fix this by using the correct handler.
> >>
> >> Reported-by: Brian Norris <computersforpeace@gmail.com>
> >> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> >
> > Jason, Thomas, this driver just got merged into 3.16-rc0, can you
> > carry this fix such that it gets into a future 3.16-rc? Thanks!
> 
> Ping! I want to make sure this gets into a next 3.16-rc pull request.
> Andrew, can you take that one if neither Thomas nor Andrew respond in
> a timely manner?

So Andrew should take it if neither Thomas nor Andrew respond. I'm
curious how that works out.

Dude, keep calm. Timely manner?

For something you brought yourself into the merge window and does not
bring the world to a grinding halt like a nasty NULL pointer
dereference in the scheduler?

I have no problem with a polite reminder as stuff falls down the
cracks occassionaly, but please keep the proportions right. The only
user of the code YOU wreckaged has a bugfix already, so what's the
problem whether this hits rc2 or rc3?

Thanks,

	tglx
Jason Cooper June 21, 2014, 2:09 a.m. UTC | #5
On Mon, Jun 09, 2014 at 11:05:02AM -0700, Florian Fainelli wrote:
> The driver was configuring the interrupt handler for the Level-2
> interrupts to be "level" triggered while they are in fact "edge"
> triggered. Fix this by using the correct handler.
> 
> Reported-by: Brian Norris <computersforpeace@gmail.com>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  drivers/irqchip/irq-brcmstb-l2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied to irqchip/urgent

thx,

Jason.
diff mbox

Patch

diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c
index 8ee2a36d5840..c15c840987d2 100644
--- a/drivers/irqchip/irq-brcmstb-l2.c
+++ b/drivers/irqchip/irq-brcmstb-l2.c
@@ -150,7 +150,7 @@  int __init brcmstb_l2_intc_of_init(struct device_node *np,
 
 	/* Allocate a single Generic IRQ chip for this node */
 	ret = irq_alloc_domain_generic_chips(data->domain, 32, 1,
-				np->full_name, handle_level_irq, clr, 0, 0);
+				np->full_name, handle_edge_irq, clr, 0, 0);
 	if (ret) {
 		pr_err("failed to allocate generic irq chip\n");
 		goto out_free_domain;