powerpc/mm/drconf: Use NUMA_NO_NODE on failures instead of node 0

If we fail to parse the associativity array we should default to
NUMA_NO_NODE instead of NODE 0. Rest of the code fallback to the
right default if we find the numa node value NUMA_NO_NODE.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Aneesh Kumar K.V 2019-07-01 20:06:24 +05:30 committed by Michael Ellerman
parent 89a3496e06
commit ea9f5b702f
1 changed files with 6 additions and 4 deletions

View File

@ -436,17 +436,19 @@ static int of_get_assoc_arrays(struct assoc_arrays *aa)
static int of_drconf_to_nid_single(struct drmem_lmb *lmb)
{
struct assoc_arrays aa = { .arrays = NULL };
int default_nid = 0;
int default_nid = NUMA_NO_NODE;
int nid = default_nid;
int rc, index;
if (min_common_depth < 0)
return default_nid;
rc = of_get_assoc_arrays(&aa);
if (rc)
return default_nid;
if (min_common_depth > 0 && min_common_depth <= aa.array_sz &&
!(lmb->flags & DRCONF_MEM_AI_INVALID) &&
lmb->aa_index < aa.n_arrays) {
if (min_common_depth <= aa.array_sz &&
!(lmb->flags & DRCONF_MEM_AI_INVALID) && lmb->aa_index < aa.n_arrays) {
index = lmb->aa_index * aa.array_sz + min_common_depth - 1;
nid = of_read_number(&aa.arrays[index], 1);