Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Thomas Gleixner:
"Three fixes for irq core and irq chip drivers:
- Do not set the irq type if type is NONE. Fixes a boot regression
on various SoCs
- Use the proper cpu for setting up the GIC target list. Discovered
by the cpumask debugging code.
- A rather large fix for the MIPS-GIC so per cpu local interrupts
work again. This was discovered late because the code falls back
to slower timers which use normal device interrupts"
* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/mips-gic: Fix local interrupts
irqchip/gicv3: Silence noisy DEBUG_PER_CPU_MAPS warning
genirq: Skip chained interrupt trigger setup if type is IRQ_TYPE_NONE
This commit is contained in:
+6
-2
@@ -820,6 +820,8 @@ __irq_do_set_handler(struct irq_desc *desc, irq_flow_handler_t handle,
|
||||
desc->name = name;
|
||||
|
||||
if (handle != handle_bad_irq && is_chained) {
|
||||
unsigned int type = irqd_get_trigger_type(&desc->irq_data);
|
||||
|
||||
/*
|
||||
* We're about to start this interrupt immediately,
|
||||
* hence the need to set the trigger configuration.
|
||||
@@ -828,8 +830,10 @@ __irq_do_set_handler(struct irq_desc *desc, irq_flow_handler_t handle,
|
||||
* chained interrupt. Reset it immediately because we
|
||||
* do know better.
|
||||
*/
|
||||
__irq_set_trigger(desc, irqd_get_trigger_type(&desc->irq_data));
|
||||
desc->handle_irq = handle;
|
||||
if (type != IRQ_TYPE_NONE) {
|
||||
__irq_set_trigger(desc, type);
|
||||
desc->handle_irq = handle;
|
||||
}
|
||||
|
||||
irq_settings_set_noprobe(desc);
|
||||
irq_settings_set_norequest(desc);
|
||||
|
||||
Reference in New Issue
Block a user