diff options
author | Thomas Bogendoerfer <tbogendoerfer@suse.de> | 2020-01-09 13:23:29 +0100 |
---|---|---|
committer | Paul Burton <paulburton@kernel.org> | 2020-01-09 09:54:27 -0800 |
commit | a20ebc047a4a300b19df79116598c8c0bd0a9d1e (patch) | |
tree | 59fee424c8a52c5a4de4635aca8500c39955d125 /arch/mips/sgi-ip27 | |
parent | b9bb868e2fc169b7917392eb41c84bc7436a8022 (diff) | |
download | lwn-a20ebc047a4a300b19df79116598c8c0bd0a9d1e.tar.gz lwn-a20ebc047a4a300b19df79116598c8c0bd0a9d1e.zip |
MIPS: SGI-IP27: Fix node_distance
node_distance must return values starting from 10 up to 255. 10 means
local, 255 unreachable.
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Diffstat (limited to 'arch/mips/sgi-ip27')
-rw-r--r-- | arch/mips/sgi-ip27/ip27-memory.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/mips/sgi-ip27/ip27-memory.c b/arch/mips/sgi-ip27/ip27-memory.c index 563aad5e6398..a0c717662eb1 100644 --- a/arch/mips/sgi-ip27/ip27-memory.c +++ b/arch/mips/sgi-ip27/ip27-memory.c @@ -148,25 +148,25 @@ static int __init compute_node_distance(nasid_t nasid_a, nasid_t nasid_b) } while ((brd = find_lboard_class(KLCF_NEXT(brd), KLTYPE_ROUTER))); } + if (nasid_a == nasid_b) + return LOCAL_DISTANCE; + + if (router_a == router_b) + return LOCAL_DISTANCE + 1; + if (router_a == NULL) { pr_info("node_distance: router_a NULL\n"); - return -1; + return 255; } if (router_b == NULL) { pr_info("node_distance: router_b NULL\n"); - return -1; + return 255; } - if (nasid_a == nasid_b) - return 0; - - if (router_a == router_b) - return 1; - router_distance = 100; router_recurse(router_a, router_b, 2); - return router_distance; + return LOCAL_DISTANCE + router_distance; } static void __init init_topology_matrix(void) |