aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2012-08-16 17:22:39 -0400
committerSteven Rostedt <rostedt@goodmis.org>2012-08-16 17:22:39 -0400
commitbac8c3f1630973821883a82a8dd4f7230b817679 (patch)
tree6b1ebc138d51b195a83654415eafbe21a08fb844 /kernel
parent810bfb094d8b827b9748a0e237b83675467d94e1 (diff)
parenta422ca75bd264cd26bafeb6305655245d2ea7c6b (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.c7
-rw-r--r--kernel/irq/manage.c17
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
*
*/