x86: SGI UV: Fix BAU initialization
authorCliff Wickman <cpw@sgi.com>
Thu, 19 Nov 2009 23:12:43 +0000 (17:12 -0600)
committerIngo Molnar <mingo@elte.hu>
Mon, 23 Nov 2009 18:12:50 +0000 (19:12 +0100)
A memory mapped register that affects the SGI UV Broadcast
Assist Unit's interrupt handling may sometimes be unintialized.

Remove the condition on its initialization, as that condition
can be randomly satisfied by a hardware reset.

Signed-off-by: Cliff Wickman <cpw@sgi.com>
Cc: <stable@kernel.org>
LKML-Reference: <E1NBGB9-0005nU-Dp@eag09.americas.sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/tlb_uv.c

index 503c1f2..af21e55 100644 (file)
@@ -819,10 +819,8 @@ static int __init uv_init_blade(int blade)
         */
        apicid = blade_to_first_apicid(blade);
        pa = uv_read_global_mmr64(pnode, UVH_BAU_DATA_CONFIG);
-       if ((pa & 0xff) != UV_BAU_MESSAGE) {
-               uv_write_global_mmr64(pnode, UVH_BAU_DATA_CONFIG,
+       uv_write_global_mmr64(pnode, UVH_BAU_DATA_CONFIG,
                                      ((apicid << 32) | UV_BAU_MESSAGE));
-       }
        return 0;
 }