[tip:x86/uv] x86, uv: uv_global_gru_mmr_address() macro fix

From: tip-bot for Jack Steiner
Date: Sat Jan 09 2010 - 17:41:11 EST


Commit-ID: e1e0138d7d10fd447c71cc70f367eac514bd3ce4
Gitweb: http://git.kernel.org/tip/e1e0138d7d10fd447c71cc70f367eac514bd3ce4
Author: Jack Steiner <steiner@xxxxxxx>
AuthorDate: Thu, 7 Jan 2010 10:12:40 -0600
Committer: H. Peter Anvin <hpa@xxxxxxxxx>
CommitDate: Thu, 7 Jan 2010 11:49:57 -0800

x86, uv: uv_global_gru_mmr_address() macro fix

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@xxxxxxx>
LKML-Reference: <20100107161240.GA2610@xxxxxxx>
Cc: <stable@xxxxxxxxxx>
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx>
---
arch/x86/include/asm/uv/uv_hub.h | 3 ++-
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 811bfab..7a81d9d 100644
--- a/arch/x86/include/asm/uv/uv_hub.h
+++ b/arch/x86/include/asm/uv/uv_hub.h
@@ -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);
}

/*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/