blob: 11051d9afb5ba8c139c8bf5ef20f8cc4ba4e2f31 [file] [log] [blame]
Subject: genirq: Fix 32bit random changes fallout
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 31 Oct 2012 17:06:19 +0100
On 32bit sytems pointers are surprisingly 32bit wide. So gcc complains
correctly about a cast to a different size. Use an cast to unsigned
long instead which handles this correctly for bioth 32 and 64 bit.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable-rt@vger.kernel.org
---
kernel/irq/manage.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-stable/kernel/irq/manage.c
===================================================================
--- linux-stable.orig/kernel/irq/manage.c
+++ linux-stable/kernel/irq/manage.c
@@ -855,7 +855,7 @@ static int irq_thread(void *data)
#ifdef CONFIG_PREEMPT_RT_FULL
migrate_disable();
add_interrupt_randomness(action->irq, 0,
- desc->random_ip ^ (u64) action);
+ desc->random_ip ^ (unsigned long) action);
migrate_enable();
#endif
wake_threads_waitq(desc);