x86, uv: uv_global_gru_mmr_address() macro fix
authorJack Steiner <steiner@sgi.com>
Thu, 7 Jan 2010 16:12:40 +0000 (10:12 -0600)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 7 Jan 2010 19:49:57 +0000 (11:49 -0800)
Fix bug in uv_global_gru_mmr_address macro.  Macro failed
to cast an int value to a long prior to a left shift > 32.

Signed-off-by: Jack Steiner <steiner@sgi.com>
LKML-Reference: <20100107161240.GA2610@sgi.com>
Cc: <stable@kernel.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/include/asm/uv/uv_hub.h

index 811bfabc80b7e91ce3c02bf56acdbb4809f4e1a3..7a81d9db57b9fec76f2bc04fc1e925eac6bbb537 100644 (file)
@@ -335,7 +335,8 @@ static inline unsigned long uv_read_global_mmr64(int pnode,
  */
 static inline unsigned long uv_global_gru_mmr_address(int pnode, unsigned long offset)
 {
-       return UV_GLOBAL_GRU_MMR_BASE | offset | (pnode << uv_hub_info->m_val);
+       return UV_GLOBAL_GRU_MMR_BASE | offset |
+               ((unsigned long)pnode << uv_hub_info->m_val);
 }
 
 /*
This page took 0.025385 seconds and 5 git commands to generate.