Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 234765
b: refs/heads/master
c: 70433c0
h: refs/heads/master
i:
  234763: 7d39314
v: v3
  • Loading branch information
Thomas Gleixner committed Feb 22, 2011
1 parent e7813cd commit a2a3e4b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8fff39e06987492da3d4a0b9ec7cdbd245b6762b
refs/heads/master: 70433c01613c2a44756c7b25f7bdd6c1c77b119f
16 changes: 9 additions & 7 deletions trunk/kernel/irq/handle.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,24 +54,26 @@ static void warn_no_thread(unsigned int irq, struct irqaction *action)
irqreturn_t
handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action)
{
irqreturn_t ret, retval = IRQ_NONE;
irqreturn_t retval = IRQ_NONE;
unsigned int random = 0, irq = desc->irq_data.irq;

do {
irqreturn_t res;

trace_irq_handler_entry(irq, action);
ret = action->handler(irq, action->dev_id);
trace_irq_handler_exit(irq, action, ret);
res = action->handler(irq, action->dev_id);
trace_irq_handler_exit(irq, action, res);

if (WARN_ON_ONCE(!irqs_disabled()))
local_irq_disable();

switch (ret) {
switch (res) {
case IRQ_WAKE_THREAD:
/*
* Set result to handled so the spurious check
* does not trigger.
*/
ret = IRQ_HANDLED;
res = IRQ_HANDLED;

/*
* Catch drivers which return WAKE_THREAD but
Expand Down Expand Up @@ -105,15 +107,15 @@ handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action)
break;
}

retval |= ret;
retval |= res;
action = action->next;
} while (action);

if (random & IRQF_SAMPLE_RANDOM)
add_interrupt_randomness(irq);

if (!noirqdebug)
note_interrupt(irq, desc, ret);
note_interrupt(irq, desc, retval);
return retval;
}

Expand Down

0 comments on commit a2a3e4b

Please sign in to comment.