|
@@ -1318,6 +1318,10 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
|
|
if (bank->method == METHOD_GPIO_44XX)
|
|
|
isr_reg = bank->base + OMAP4_GPIO_IRQSTATUS0;
|
|
|
#endif
|
|
|
+
|
|
|
+ if (WARN_ON(!isr_reg))
|
|
|
+ goto exit;
|
|
|
+
|
|
|
while(1) {
|
|
|
u32 isr_saved, level_mask = 0;
|
|
|
u32 enabled;
|
|
@@ -1377,6 +1381,7 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
|
|
configured, we must unmask the bank interrupt only after
|
|
|
handler(s) are executed in order to avoid spurious bank
|
|
|
interrupt */
|
|
|
+exit:
|
|
|
if (!unmasked)
|
|
|
desc->chip->unmask(irq);
|
|
|
|