ChangeSet 1.2006, 2005/03/08 19:17:53-08:00, [EMAIL PROTECTED]

        [SPARC64]: Fix inline assembler in init_irqwork_curcpu().
        
        'tmp' cannot be a global register, because we are going
        into the interrupt globals by writing to pstate.
        Since we did not specify any particular register, gcc
        could use anything, and in fact because of this I am
        surprised we did not hit this bug earlier.
        
        Signed-off-by: David S. Miller <[EMAIL PROTECTED]>



 irq.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


diff -Nru a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c
--- a/arch/sparc64/kernel/irq.c 2005-03-09 18:06:33 -08:00
+++ b/arch/sparc64/kernel/irq.c 2005-03-09 18:06:33 -08:00
@@ -1112,7 +1112,7 @@
 void init_irqwork_curcpu(void)
 {
        register struct irq_work_struct *workp asm("o2");
-       unsigned long tmp;
+       register unsigned long tmp asm("o3");
        int cpu = hard_smp_processor_id();
 
        memset(__irq_work + cpu, 0, sizeof(*workp));
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to