|
@@ -292,6 +292,9 @@ static void mx2_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
|
|
{
|
|
|
u32 irq_msk, irq_stat;
|
|
|
struct mxc_gpio_port *port;
|
|
|
+ struct irq_chip *chip = irq_get_chip(irq);
|
|
|
+
|
|
|
+ chained_irq_enter(chip, desc);
|
|
|
|
|
|
/* walk through all interrupt status registers */
|
|
|
list_for_each_entry(port, &mxc_gpio_ports, node) {
|
|
@@ -303,6 +306,7 @@ static void mx2_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
|
|
if (irq_stat)
|
|
|
mxc_gpio_irq_handler(port, irq_stat);
|
|
|
}
|
|
|
+ chained_irq_exit(chip, desc);
|
|
|
}
|
|
|
|
|
|
/*
|