x86: UV fix uv_flush_send_and_wait()
authorCliff Wickman <cpw@sgi.com>
Thu, 29 Jan 2009 21:35:26 +0000 (15:35 -0600)
committerTejun Heo <tj@kernel.org>
Sat, 31 Jan 2009 05:23:37 +0000 (14:23 +0900)
Impact: fix possible tlb mis-flushing on UV

uv_flush_send_and_wait() should return a pointer if the broadcast
remote tlb shootdown requests fail. That causes the conventional IPI
method of shootdown to be used.

Signed-off-by: Cliff Wickman <cpw@sgi.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
arch/x86/kernel/tlb_uv.c

index 89fce1b6d01fc5a99d7b4b5a95d0555307fee1d1..f4b2f27d19b98aee23dc9d4c3ddefffa49bf9141 100644 (file)
@@ -259,7 +259,7 @@ const struct cpumask *uv_flush_send_and_wait(int cpu, int this_blade,
                 * the cpu's, all of which are still in the mask.
                 */
                __get_cpu_var(ptcstats).ptc_i++;
-               return 0;
+               return flush_mask;
        }
 
        /*