提交 e6f07759 编写于 作者: M Magnus Damm 提交者: Paul Mundt

sh: fix INTC to use set_irq_chained_handler() for redirects

This patch updates the shared INTC code to use
set_irq_chained_handler() for intc_redirect_irq().

With this in place request_irq() on a merged irq
which has been redirected will now return -EINVAL
instead of 0 together with a crash. This thanks to
the protection of the IRQ_NOREQUEST flag set for
chained interrupt handlers.
Signed-off-by: NMagnus Damm <damm@opensource.se>
Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 3844eadc
......@@ -896,8 +896,8 @@ void __init register_intc_controller(struct intc_desc *desc)
vect2->enum_id = 0;
/* redirect this interrupts to the first one */
set_irq_chip_and_handler_name(irq2, &d->chip,
intc_redirect_irq, "redirect");
set_irq_chained_handler(irq2, intc_redirect_irq);
set_irq_chip(irq2, &d->chip);
set_irq_data(irq2, (void *)irq);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册