From 9178052fda2f934535f0b9940b987c3ac4c51bd7 Mon Sep 17 00:00:00 2001 From: Jack Steiner Date: Tue, 15 Dec 2009 16:48:03 -0800 Subject: [PATCH] gru: handle blades without memory Do not use alloc_pages_exact_node() to allocate GRU tables. If a blade has no local memory, nid will be -1. Use alloc_pages_node() instead. Signed-off-by: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/misc/sgi-gru/grufile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/misc/sgi-gru/grufile.c b/drivers/misc/sgi-gru/grufile.c index 6318ee5c8d50..2e574fd5d3f7 100644 --- a/drivers/misc/sgi-gru/grufile.c +++ b/drivers/misc/sgi-gru/grufile.c @@ -266,8 +266,8 @@ static int gru_init_tables(unsigned long gru_base_paddr, void *gru_base_vaddr) max_user_dsr_bytes = GRU_NUM_DSR_BYTES; for_each_possible_blade(bid) { pnode = uv_blade_to_pnode(bid); - nid = uv_blade_to_memory_nid(bid); - page = alloc_pages_exact_node(nid, GFP_KERNEL, order); + nid = uv_blade_to_memory_nid(bid);/* -1 if no memory on blade */ + page = alloc_pages_node(nid, GFP_KERNEL, order); if (!page) goto fail; gru_base[bid] = page_address(page); -- 2.30.2