diff options
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r-- | kernel/irq/handle.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 517561fc7317..90cb55f6d7eb 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -175,28 +175,13 @@ irqreturn_t handle_irq_event(struct irq_desc *desc) | |||
175 | struct irqaction *action = desc->action; | 175 | struct irqaction *action = desc->action; |
176 | irqreturn_t ret; | 176 | irqreturn_t ret; |
177 | 177 | ||
178 | irq_compat_clr_pending(desc); | ||
179 | desc->istate &= ~IRQS_PENDING; | 178 | desc->istate &= ~IRQS_PENDING; |
180 | irq_compat_set_progress(desc); | 179 | irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS); |
181 | desc->istate |= IRQS_INPROGRESS; | ||
182 | raw_spin_unlock(&desc->lock); | 180 | raw_spin_unlock(&desc->lock); |
183 | 181 | ||
184 | ret = handle_irq_event_percpu(desc, action); | 182 | ret = handle_irq_event_percpu(desc, action); |
185 | 183 | ||
186 | raw_spin_lock(&desc->lock); | 184 | raw_spin_lock(&desc->lock); |
187 | desc->istate &= ~IRQS_INPROGRESS; | 185 | irqd_clear(&desc->irq_data, IRQD_IRQ_INPROGRESS); |
188 | irq_compat_clr_progress(desc); | ||
189 | return ret; | 186 | return ret; |
190 | } | 187 | } |
191 | |||
192 | /** | ||
193 | * handle_IRQ_event - irq action chain handler | ||
194 | * @irq: the interrupt number | ||
195 | * @action: the interrupt action chain for this irq | ||
196 | * | ||
197 | * Handles the action chain of an irq event | ||
198 | */ | ||
199 | irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) | ||
200 | { | ||
201 | return handle_irq_event_percpu(irq_to_desc(irq), action); | ||
202 | } | ||