]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86_64/kernel/smp.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
[karo-tx-linux.git] / arch / x86_64 / kernel / smp.c
index 8188bae9c6d5cdce444a61993e709d74a9e0918e..5a1c0a3bf87262c027c327773628e93e58194188 100644 (file)
@@ -135,10 +135,10 @@ asmlinkage void smp_invalidate_interrupt(struct pt_regs *regs)
 
        cpu = smp_processor_id();
        /*
-        * orig_rax contains the interrupt vector - 256.
+        * orig_rax contains the negated interrupt vector.
         * Use that to determine where the sender put the data.
         */
-       sender = regs->orig_rax + 256 - INVALIDATE_TLB_VECTOR_START;
+       sender = ~regs->orig_rax - INVALIDATE_TLB_VECTOR_START;
        f = &per_cpu(flush_state, sender);
 
        if (!cpu_isset(cpu, f->flush_cpumask))
@@ -474,7 +474,7 @@ void smp_send_stop(void)
                return;
        /* Don't deadlock on the call lock in panic */
        if (!spin_trylock(&call_lock)) {
-               /* ignore locking because we have paniced anyways */
+               /* ignore locking because we have panicked anyways */
                nolock = 1;
        }
        __smp_call_function(smp_really_stop_cpu, NULL, 0, 0);