diff options
Diffstat (limited to 'arch/arm/common/it8152.c')
| -rw-r--r-- | arch/arm/common/it8152.c | 5 |
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) | |||
| 120 | time, when they all three were 0. */ | 120 | time, when they all three were 0. */ |
| 121 | bits_pd = __raw_readl(IT8152_INTC_PDCNIRR); | 121 | bits_pd = __raw_readl(IT8152_INTC_PDCNIRR); |
| 122 | bits_lp = __raw_readl(IT8152_INTC_LPCNIRR); | 122 | bits_lp = __raw_readl(IT8152_INTC_LPCNIRR); |
| 123 | bits_ld = __raw_readl(IT8152_INTC_LDCNIRR); | ||
| 123 | if (!(bits_ld | bits_lp | bits_pd)) | 124 | if (!(bits_ld | bits_lp | bits_pd)) |
| 124 | return; | 125 | return; |
| 125 | } | 126 | } |
| @@ -133,14 +134,14 @@ void it8152_irq_demux(unsigned int irq, struct irq_desc *desc) | |||
| 133 | 134 | ||
| 134 | bits_lp &= ((1 << IT8152_LP_IRQ_COUNT) - 1); | 135 | bits_lp &= ((1 << IT8152_LP_IRQ_COUNT) - 1); |
| 135 | while (bits_lp) { | 136 | while (bits_lp) { |
| 136 | i = __ffs(bits_pd); | 137 | i = __ffs(bits_lp); |
| 137 | it8152_irq(IT8152_LP_IRQ(i)); | 138 | it8152_irq(IT8152_LP_IRQ(i)); |
| 138 | bits_lp &= ~(1 << i); | 139 | bits_lp &= ~(1 << i); |
| 139 | } | 140 | } |
| 140 | 141 | ||
| 141 | bits_ld &= ((1 << IT8152_LD_IRQ_COUNT) - 1); | 142 | bits_ld &= ((1 << IT8152_LD_IRQ_COUNT) - 1); |
| 142 | while (bits_ld) { | 143 | while (bits_ld) { |
| 143 | i = __ffs(bits_pd); | 144 | i = __ffs(bits_ld); |
| 144 | it8152_irq(IT8152_LD_IRQ(i)); | 145 | it8152_irq(IT8152_LD_IRQ(i)); |
| 145 | bits_ld &= ~(1 << i); | 146 | bits_ld &= ~(1 << i); |
| 146 | } | 147 | } |
