Skip to content

Commit

Permalink
sh: fix INTC to use set_irq_chained_handler() for redirects
Browse files Browse the repository at this point in the history
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: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Magnus Damm authored and Paul Mundt committed Feb 9, 2010
1 parent 3844ead commit e6f0775
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/sh/intc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Expand Down

0 comments on commit e6f0775

Please sign in to comment.