projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'cgroup/for-next'
[deliverable/linux.git]
/
kernel
/
irq
/
handle.c
diff --git
a/kernel/irq/handle.c
b/kernel/irq/handle.c
index a15b5485b446e8ff5575ba87e9a4cabb80aa7286..d3f24905852c9e5068e53760034decefde63bd14 100644
(file)
--- a/
kernel/irq/handle.c
+++ b/
kernel/irq/handle.c
@@
-132,10
+132,10
@@
void __irq_wake_thread(struct irq_desc *desc, struct irqaction *action)
wake_up_process(action->thread);
}
wake_up_process(action->thread);
}
-irqreturn_t
handle_irq_event_percpu(struct irq_desc *desc
)
+irqreturn_t
__handle_irq_event_percpu(struct irq_desc *desc, unsigned int *flags
)
{
irqreturn_t retval = IRQ_NONE;
{
irqreturn_t retval = IRQ_NONE;
- unsigned int
flags = 0,
irq = desc->irq_data.irq;
+ unsigned int irq = desc->irq_data.irq;
struct irqaction *action;
for_each_action_of_desc(desc, action) {
struct irqaction *action;
for_each_action_of_desc(desc, action) {
@@
-164,7
+164,7
@@
irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
/* Fall through to add to randomness */
case IRQ_HANDLED:
/* Fall through to add to randomness */
case IRQ_HANDLED:
- flags |= action->flags;
+
*
flags |= action->flags;
break;
default:
break;
default:
@@
-174,7
+174,17
@@
irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
retval |= res;
}
retval |= res;
}
- add_interrupt_randomness(irq, flags);
+ return retval;
+}
+
+irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
+{
+ irqreturn_t retval;
+ unsigned int flags = 0;
+
+ retval = __handle_irq_event_percpu(desc, &flags);
+
+ add_interrupt_randomness(desc->irq_data.irq, flags);
if (!noirqdebug)
note_interrupt(desc, retval);
if (!noirqdebug)
note_interrupt(desc, retval);
This page took
0.033359 seconds
and
5
git commands to generate.