x86: SGI UV: Fix BAU initialization
authorCliff Wickman <cpw@sgi.com>
Thu, 19 Nov 2009 23:12:43 +0000 (17:12 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Dec 2009 22:03:44 +0000 (14:03 -0800)
commit e38e2af1c57c3eb5211331a5b4fcaae0c4a2a918 upstream.

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>
LKML-Reference: <E1NBGB9-0005nU-Dp@eag09.americas.sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/tlb_uv.c

index 1740c85e24bbe81a34977ab4fcd6fffde6c02492..364d015efebcc88dd6966cbfb741dfc41ccc410a 100644 (file)
@@ -817,10 +817,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;
 }