| 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); |