summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2014-01-24 14:42:33 -0700
committerBjorn Helgaas <bhelgaas@google.com>2014-02-03 10:39:09 -0700
commit10ee3d7032562d6094d3ee7de84af93fcc0250c7 (patch)
tree06a24a697affbe83fbc7e95d2fef2cb8e1ece55f
parentab6ffce35b2cd1f558fce954d38a7ee7ffa9c415 (diff)
downloadlinux-10ee3d7032562d6094d3ee7de84af93fcc0250c7.tar.gz
linux-10ee3d7032562d6094d3ee7de84af93fcc0250c7.tar.bz2
linux-10ee3d7032562d6094d3ee7de84af93fcc0250c7.zip
ia64 / sba_iommu: Use NUMA_NO_NODE, not MAX_NUMNODES, for unknown node
MAX_NUMNODES is typically used for sizing arrays. NUMA_NO_NODE is the usual value for "we don't know what node this is on," e.g., it is the error return from acpi_get_node(). This changes the ioc->node value for unknown nodes from MAX_NUMNODES to NUMA_NO_NODE. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--arch/ia64/hp/common/sba_iommu.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c
index 8e858b593e4f..a52d6b49b7ce 100644
--- a/arch/ia64/hp/common/sba_iommu.c
+++ b/arch/ia64/hp/common/sba_iommu.c
@@ -1140,11 +1140,13 @@ sba_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
#ifdef CONFIG_NUMA
{
+ int node = ioc->node;
struct page *page;
- page = alloc_pages_exact_node(ioc->node == MAX_NUMNODES ?
- numa_node_id() : ioc->node, flags,
- get_order(size));
+ if (node == NUMA_NO_NODE)
+ node = numa_node_id();
+
+ page = alloc_pages_exact_node(node, flags, get_order(size));
if (unlikely(!page))
return NULL;
@@ -1914,7 +1916,7 @@ ioc_show(struct seq_file *s, void *v)
seq_printf(s, "Hewlett Packard %s IOC rev %d.%d\n",
ioc->name, ((ioc->rev >> 4) & 0xF), (ioc->rev & 0xF));
#ifdef CONFIG_NUMA
- if (ioc->node != MAX_NUMNODES)
+ if (ioc->node != NUMA_NO_NODE)
seq_printf(s, "NUMA node : %d\n", ioc->node);
#endif
seq_printf(s, "IOVA size : %ld MB\n", ((ioc->pdir_size >> 3) * iovp_size)/(1024*1024));
@@ -2022,7 +2024,7 @@ sba_map_ioc_to_node(struct ioc *ioc, acpi_handle handle)
unsigned int node;
int pxm;
- ioc->node = MAX_NUMNODES;
+ ioc->node = NUMA_NO_NODE;
pxm = acpi_get_pxm(handle);
@@ -2031,7 +2033,7 @@ sba_map_ioc_to_node(struct ioc *ioc, acpi_handle handle)
node = pxm_to_node(pxm);
- if (node >= MAX_NUMNODES || !node_online(node))
+ if (node == NUMA_NO_NODE || !node_online(node))
return;
ioc->node = node;