diff options
author | Steven Rostedt <srostedt@redhat.com> | 2012-08-16 17:22:39 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2012-08-16 17:22:39 -0400 |
commit | bac8c3f1630973821883a82a8dd4f7230b817679 (patch) | |
tree | 6b1ebc138d51b195a83654415eafbe21a08fb844 /kernel | |
parent | 810bfb094d8b827b9748a0e237b83675467d94e1 (diff) | |
parent | a422ca75bd264cd26bafeb6305655245d2ea7c6b (diff) |
Merge tag 'v3.0.41' into v3.0-rt
This is the 3.0.41 stable release
Conflicts:
kernel/irq/handle.c
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/handle.c | 7 | ||||
-rw-r--r-- | kernel/irq/manage.c | 17 |
2 files changed, 3 insertions, 21 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 634620c1b291..a7688853397e 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -117,7 +117,7 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action) { irqreturn_t retval = IRQ_NONE; - unsigned int random = 0, irq = desc->irq_data.irq; + unsigned int flags = 0, irq = desc->irq_data.irq; do { irqreturn_t res; @@ -145,7 +145,7 @@ handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action) /* Fall through to add to randomness */ case IRQ_HANDLED: - random |= action->flags; + flags |= action->flags; break; default: @@ -158,8 +158,7 @@ handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action) #ifndef CONFIG_PREEMPT_RT_FULL /* FIXME: Can we unbreak that ? */ - if (random & IRQF_SAMPLE_RANDOM) - add_interrupt_randomness(irq); + add_interrupt_randomness(irq, flags); #endif if (!noirqdebug) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index daa1d1081db7..4fc17f3b3983 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -896,22 +896,6 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) if (desc->irq_data.chip == &no_irq_chip) return -ENOSYS; - /* - * Some drivers like serial.c use request_irq() heavily, - * so we have to be careful not to interfere with a - * running system. - */ - if (new->flags & IRQF_SAMPLE_RANDOM) { - /* - * This function might sleep, we want to call it first, - * outside of the atomic block. - * Yes, this might clear the entropy pool if the wrong - * driver is attempted to be loaded, without actually - * installing a new handler, but is this really a problem, - * only the sysadmin is able to do this. - */ - rand_initialize_irq(irq); - } /* * Check whether the interrupt nests into another interrupt @@ -1338,7 +1322,6 @@ EXPORT_SYMBOL(free_irq); * Flags: * * IRQF_SHARED Interrupt is shared - * IRQF_SAMPLE_RANDOM The interrupt can be used for entropy * IRQF_TRIGGER_* Specify active edge(s) or level * */ |