]> git.karo-electronics.de Git - linux-beck.git/commitdiff
x86, uv: fix cpumask iterator in uv_bau_init()
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 17 Mar 2009 21:52:30 +0000 (08:22 +1030)
committerIngo Molnar <mingo@elte.hu>
Wed, 18 Mar 2009 08:47:54 +0000 (09:47 +0100)
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>
arch/x86/kernel/tlb_uv.c

index d038b9c45cf89597e10ab05d1814b2557b606994..79c073247284cbdb334cf2a03b4e7ffaae8d0bcd 100644 (file)
@@ -750,7 +750,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;
@@ -760,6 +760,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)