]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
x86, uv: fix cpumask iterator in uv_bau_init()
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 30 Mar 2009 18:50:23 +0000 (18:50 +0000)
committerChris Wright <chrisw@sous-sol.org>
Thu, 2 Apr 2009 20:55:18 +0000 (13:55 -0700)
upstream commit: 2c74d66624ddbda8101d54d1e184cf9229b378bc

Impact: fix boot crash on UV systems

Commit 76ba0ecda0de9accea9a91cb6dbde46782110e1c "cpumask: use
cpumask_var_t in uv_flush_tlb_others" used cur_cpu as an iterator;
it was supposed to be zero for the code below it.

Reported-by: Cliff Wickman <cpw@sgi.com>
Original-From: Cliff Wickman <cpw@sgi.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Mike Travis <travis@sgi.com>
Cc: steiner@sgi.com
Cc: <stable@kernel.org>
LKML-Reference: <200903180822.31196.rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
arch/x86/kernel/tlb_uv.c

index 6812b829ed83e86a8c0919e8c4daaadd2516cc12..16e505a4c3038d16590819b9860363b547ace10a 100644 (file)
@@ -742,7 +742,7 @@ static int __init uv_bau_init(void)
        int node;
        int nblades;
        int last_blade;
-       int cur_cpu = 0;
+       int cur_cpu;
 
        if (!is_uv_system())
                return 0;
@@ -752,6 +752,7 @@ static int __init uv_bau_init(void)
        uv_mmask = (1UL << uv_hub_info->n_val) - 1;
        nblades = 0;
        last_blade = -1;
+       cur_cpu = 0;
        for_each_online_node(node) {
                blade = uv_node_to_blade_id(node);
                if (blade == last_blade)