|
@@ -360,7 +360,7 @@ static void tegra_gpio_irq_handler(struct irq_desc *desc)
|
|
{
|
|
{
|
|
int port;
|
|
int port;
|
|
int pin;
|
|
int pin;
|
|
- int unmasked = 0;
|
|
|
|
|
|
+ bool unmasked = false;
|
|
int gpio;
|
|
int gpio;
|
|
u32 lvl;
|
|
u32 lvl;
|
|
unsigned long sta;
|
|
unsigned long sta;
|
|
@@ -384,8 +384,8 @@ static void tegra_gpio_irq_handler(struct irq_desc *desc)
|
|
* before executing the handler so that we don't
|
|
* before executing the handler so that we don't
|
|
* miss edges
|
|
* miss edges
|
|
*/
|
|
*/
|
|
- if (lvl & (0x100 << pin)) {
|
|
|
|
- unmasked = 1;
|
|
|
|
|
|
+ if (!unmasked && lvl & (0x100 << pin)) {
|
|
|
|
+ unmasked = true;
|
|
chained_irq_exit(chip, desc);
|
|
chained_irq_exit(chip, desc);
|
|
}
|
|
}
|
|
|
|
|