diff options
author | Dean Roe <roe@sgi.com> | 2006-03-06 10:32:05 -0600 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-03-28 08:39:10 -0800 |
commit | 769ebc66dec24770ea1e99019099d2bc636a61d3 (patch) | |
tree | 7ff5ac2a9eea5a7def26f32ad8ffd06b367ed8e0 /arch/ia64/sn | |
parent | e6ef0fca2c61f7e773178be8c3833a709a47e022 (diff) |
[IA64-SGI] fix for-loop in sn_hwperf_geoid_to_cnode()
Fix a for-loop in sn_hwperf_geoid_to_cnode(). It needs to loop over
num_cnodes to ensure it can still process TIO nodes in addition to
compute nodes on systems with many nodes. Interim fix until better
support for many (>265) nodes is complete.
Signed-off-by: Dean Roe <roe@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/sn')
-rw-r--r-- | arch/ia64/sn/kernel/sn2/sn_hwperf.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c index 6ff34fc05c8..d917afa30b2 100644 --- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c +++ b/arch/ia64/sn/kernel/sn2/sn_hwperf.c @@ -110,7 +110,11 @@ static int sn_hwperf_geoid_to_cnode(char *location) if (sn_hwperf_location_to_bpos(location, &rack, &bay, &slot, &slab)) return -1; - for_each_node(cnode) { + /* + * FIXME: replace with cleaner for_each_XXX macro which addresses + * both compute and IO nodes once ACPI3.0 is available. + */ + for (cnode = 0; cnode < num_cnodes; cnode++) { geoid = cnodeid_get_geoid(cnode); module_id = geo_module(geoid); this_rack = MODULE_GET_RACK(module_id); |