summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2010-01-07 10:12:40 -0600
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-15 09:05:56 -0700
commit38050e8d4f879a4d14bbd241f7de8bfb08ca2d23 (patch)
tree9d6820ec8878ecc48f24a87ae5f5f6fb38e4231e /arch
parent686056f1efec9d121a342dce70bffda664365865 (diff)
x86, uv: uv_global_gru_mmr_address() macro fix
commit e1e0138d7d10fd447c71cc70f367eac514bd3ce4 upstream. 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> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/uv/uv_hub.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h
index 40be813fefb1..14cc74ba5d23 100644
--- a/arch/x86/include/asm/uv/uv_hub.h
+++ b/arch/x86/include/asm/uv/uv_hub.h
@@ -329,7 +329,8 @@ static inline unsigned long uv_read_global_mmr64(int pnode, unsigned long offset
*/
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);
}
static inline void uv_write_global_mmr8(int pnode, unsigned long offset, unsigned char val)