summary refs log tree commit diff
path: root/arch/arm
diff options
context:
space:
mode:
authorMike Rapoport <mike@compulab.co.il>2008-03-23 15:32:33 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-03-28 15:07:46 +0000
commitb626517751b8d78abc8465971e3120ebd686673a (patch)
treeaf1ac4e7b3dbfe73215c6dd2ddca97e9317bd6c4 /arch/arm
parentc60afe1014dc4b8d2211fb6cc9dd08ebab31d00b (diff)
downloadlinux-b626517751b8d78abc8465971e3120ebd686673a.tar.gz
[ARM] 4873/1: Fix ITE 8152 interrupt demux
This patch fixes misprints in ITE 8152 interrupt demuxing

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/common/it8152.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
index 538262241483..5fe9588db077 100644
--- a/arch/arm/common/it8152.c
+++ b/arch/arm/common/it8152.c
@@ -120,6 +120,7 @@ void it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
 			  time, when they all three were 0. */
 		       bits_pd = __raw_readl(IT8152_INTC_PDCNIRR);
 		       bits_lp = __raw_readl(IT8152_INTC_LPCNIRR);
+		       bits_ld = __raw_readl(IT8152_INTC_LDCNIRR);
 		       if (!(bits_ld | bits_lp | bits_pd))
 			       return;
 	       }
@@ -133,14 +134,14 @@ void it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
 
 	       bits_lp &= ((1 << IT8152_LP_IRQ_COUNT) - 1);
 	       while (bits_lp) {
-		       i = __ffs(bits_pd);
+		       i = __ffs(bits_lp);
 		       it8152_irq(IT8152_LP_IRQ(i));
 		       bits_lp &= ~(1 << i);
 	       }
 
 	       bits_ld &= ((1 << IT8152_LD_IRQ_COUNT) - 1);
 	       while (bits_ld) {
-		       i = __ffs(bits_pd);
+		       i = __ffs(bits_ld);
 		       it8152_irq(IT8152_LD_IRQ(i));
 		       bits_ld &= ~(1 << i);
 	       }