diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-09-04 20:16:55 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-09-04 20:16:55 -0400 |
commit | 3e5f7c9224e763116ef28a6f518883b05a971148 (patch) | |
tree | 1e0b0a2c523ec818551899a47d5caba98d383805 | |
parent | b9ced5a8ab8f5c876d09e9e3bb2527ac6bf14659 (diff) | |
download | 4.8-rt-patches-3e5f7c9224e763116ef28a6f518883b05a971148.tar.gz |
random: trivial refreshrt-v4.7-1605-ge65805251f2d
-rw-r--r-- | patches/random-make-it-work-on-rt.patch | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/patches/random-make-it-work-on-rt.patch b/patches/random-make-it-work-on-rt.patch index 3c02405b78b2c..aee51378baddd 100644 --- a/patches/random-make-it-work-on-rt.patch +++ b/patches/random-make-it-work-on-rt.patch @@ -1,4 +1,4 @@ -From 4cd401760fdfc392c1f4e35e314c60107756ec40 Mon Sep 17 00:00:00 2001 +From d61f27cc88e51c74dfc1018eb9f570946aff5841 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 21 Aug 2012 20:38:50 +0200 Subject: [PATCH] random: Make it work on rt @@ -11,10 +11,10 @@ entropy. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/char/random.c b/drivers/char/random.c -index 86400bde0a6f..ac2bd8c62de9 100644 +index aef4e395caac..cd9a29914fd7 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c -@@ -888,28 +888,27 @@ static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) +@@ -889,28 +889,27 @@ static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) return *(ptr + f->reg_idx++); } @@ -61,7 +61,7 @@ index b51beebf9804..219d9824f762 100644 struct cpumask *percpu_enabled; const struct cpumask *percpu_affinity; diff --git a/include/linux/random.h b/include/linux/random.h -index 9c29122037f9..e7f2f8604918 100644 +index 3d6e9815cd85..f6e8860b6494 100644 --- a/include/linux/random.h +++ b/include/linux/random.h @@ -20,7 +20,7 @@ struct random_ready_callback { @@ -74,36 +74,36 @@ index 9c29122037f9..e7f2f8604918 100644 extern void get_random_bytes(void *buf, int nbytes); extern int add_random_ready_callback(struct random_ready_callback *rdy); diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c -index a15b5485b446..28c39c16f989 100644 +index d3f24905852c..1523e48635a7 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -134,6 +134,8 @@ void __irq_wake_thread(struct irq_desc *desc, struct irqaction *action) - irqreturn_t handle_irq_event_percpu(struct irq_desc *desc) + irqreturn_t __handle_irq_event_percpu(struct irq_desc *desc, unsigned int *flags) { + struct pt_regs *regs = get_irq_regs(); + u64 ip = regs ? instruction_pointer(regs) : 0; irqreturn_t retval = IRQ_NONE; - unsigned int flags = 0, irq = desc->irq_data.irq; + unsigned int irq = desc->irq_data.irq; struct irqaction *action; -@@ -174,7 +176,11 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc) - retval |= res; - } +@@ -184,7 +186,11 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc) + + retval = __handle_irq_event_percpu(desc, &flags); -- add_interrupt_randomness(irq, flags); +- add_interrupt_randomness(desc->irq_data.irq, flags); +#ifdef CONFIG_PREEMPT_RT_FULL + desc->random_ip = ip; +#else -+ add_interrupt_randomness(irq, flags, ip); ++ add_interrupt_randomness(desc->irq_data.irq, flags, ip); +#endif if (!noirqdebug) note_interrupt(desc, retval); diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index e2003da04b9e..2f9f271660a1 100644 +index 9d54fd7a37ec..5538d581b17a 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -1043,6 +1043,12 @@ static int irq_thread(void *data) +@@ -1059,6 +1059,12 @@ static int irq_thread(void *data) if (action_ret == IRQ_WAKE_THREAD) irq_wake_secondary(desc, action); |