summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2017-10-05 14:07:09 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2017-10-05 14:07:09 -0400
commitfd047d5c926b60414ae3fb23214368ea29e992f8 (patch)
tree668518f8fe683de4f6f2320a89f5b5c0da08eaea
parent32f71b838d17e4b6731b653e73f8d0595c34bdac (diff)
download4.12-rt-patches-fd047d5c926b60414ae3fb23214368ea29e992f8.tar.gz
random: refresh patchrt-v4.12-rc4
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--patches/random-make-it-work-on-rt.patch39
1 files changed, 23 insertions, 16 deletions
diff --git a/patches/random-make-it-work-on-rt.patch b/patches/random-make-it-work-on-rt.patch
index b1edc8efd3e366..042c77fd7a97fb 100644
--- a/patches/random-make-it-work-on-rt.patch
+++ b/patches/random-make-it-work-on-rt.patch
@@ -1,6 +1,7 @@
-Subject: random: Make it work on rt
+From 014bf4d22f789fe5c823766190bad45288307ccc 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
Delegate the random insertion to the forced threaded interrupt
handler. Store the return IP of the hard interrupt handler in the irq
@@ -9,19 +10,12 @@ entropy.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
----
- drivers/char/random.c | 11 +++++------
- drivers/hv/vmbus_drv.c | 4 +++-
- include/linux/irqdesc.h | 1 +
- include/linux/random.h | 2 +-
- kernel/irq/handle.c | 8 +++++++-
- kernel/irq/manage.c | 6 ++++++
- 6 files changed, 23 insertions(+), 9 deletions(-)
-
+diff --git a/drivers/char/random.c b/drivers/char/random.c
+index 9624b6eed510..9afeb4d6cf6d 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -1109,28 +1109,27 @@ static __u32 get_reg(struct fast_pool *f
- return *(ptr + f->reg_idx++);
+@@ -1106,28 +1106,27 @@ static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs)
+ return *ptr;
}
-void add_interrupt_randomness(int irq, int irq_flags)
@@ -54,9 +48,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
fast_mix(fast_pool);
add_interrupt_bench(cycles);
+diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
+index 0087b49095eb..47dad48958e8 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
-@@ -970,6 +970,8 @@ static void vmbus_isr(void)
+@@ -968,6 +968,8 @@ static void vmbus_isr(void)
void *page_addr = hv_cpu->synic_event_page;
struct hv_message *msg;
union hv_synic_event_flags *event;
@@ -65,7 +61,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
bool handled = false;
if (unlikely(page_addr == NULL))
-@@ -1013,7 +1015,7 @@ static void vmbus_isr(void)
+@@ -1011,7 +1013,7 @@ static void vmbus_isr(void)
tasklet_schedule(&hv_cpu->msg_dpc);
}
@@ -74,6 +70,8 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
}
+diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
+index c9be57931b58..eeeb540971ae 100644
--- a/include/linux/irqdesc.h
+++ b/include/linux/irqdesc.h
@@ -66,6 +66,7 @@ struct irq_desc {
@@ -84,9 +82,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
raw_spinlock_t lock;
struct cpumask *percpu_enabled;
const struct cpumask *percpu_affinity;
+diff --git a/include/linux/random.h b/include/linux/random.h
+index ed5c3838780d..723eea8f53a1 100644
--- a/include/linux/random.h
+++ b/include/linux/random.h
-@@ -31,7 +31,7 @@ static inline void add_latent_entropy(vo
+@@ -31,7 +31,7 @@ static inline void add_latent_entropy(void) {}
extern void add_input_randomness(unsigned int type, unsigned int code,
unsigned int value) __latent_entropy;
@@ -95,9 +95,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
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 d3f24905852c..f87aa8fdcc51 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
-@@ -181,10 +181,16 @@ irqreturn_t handle_irq_event_percpu(stru
+@@ -181,10 +181,16 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
{
irqreturn_t retval;
unsigned int flags = 0;
@@ -115,6 +117,8 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (!noirqdebug)
note_interrupt(desc, retval);
+diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
+index f08ff53596ce..9a622877711e 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1025,6 +1025,12 @@ static int irq_thread(void *data)
@@ -130,3 +134,6 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
wake_threads_waitq(desc);
}
+--
+2.1.4
+