summaryrefslogtreecommitdiff
path: root/drivers/input/keyboard/omap-keypad.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/keyboard/omap-keypad.c')
-rw-r--r--drivers/input/keyboard/omap-keypad.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c
index b7718a938368..e18a0079f65e 100644
--- a/drivers/input/keyboard/omap-keypad.c
+++ b/drivers/input/keyboard/omap-keypad.c
@@ -148,9 +148,6 @@ static irqreturn_t omap_kp_interrupt(int irq, void *dev_id)
/* disable keyboard interrupt and schedule for handling */
omap_writel(OMAP4_KBD_IRQDISABLE, OMAP4_KBDOCP_BASE +
OMAP4_KBD_IRQENABLE);
-
- omap_writel(omap_readl(OMAP4_KBDOCP_BASE + OMAP4_KBD_IRQSTATUS),
- OMAP4_KBDOCP_BASE + OMAP4_KBD_IRQSTATUS);
} else
/* disable keyboard interrupt and schedule for handling */
omap_writew(1, OMAP1_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT);
@@ -300,6 +297,9 @@ static void omap_kp_tasklet(unsigned long data)
}
}
enable_irq(irq);
+ /* now clear any pending interrupts */
+ omap_writel(omap_readl(OMAP4_KBDOCP_BASE + OMAP4_KBD_IRQSTATUS),
+ OMAP4_KBDOCP_BASE + OMAP4_KBD_IRQSTATUS);
}
static ssize_t omap_kp_enable_show(struct device *dev,