diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2014-01-24 16:42:33 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-02-03 12:39:09 -0500 |
commit | 10ee3d7032562d6094d3ee7de84af93fcc0250c7 (patch) | |
tree | 06a24a697affbe83fbc7e95d2fef2cb8e1ece55f | |
parent | ab6ffce35b2cd1f558fce954d38a7ee7ffa9c415 (diff) |
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.c | 14 |
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, | |||
1140 | 1140 | ||
1141 | #ifdef CONFIG_NUMA | 1141 | #ifdef CONFIG_NUMA |
1142 | { | 1142 | { |
1143 | int node = ioc->node; | ||
1143 | struct page *page; | 1144 | struct page *page; |
1144 | page = alloc_pages_exact_node(ioc->node == MAX_NUMNODES ? | ||
1145 | numa_node_id() : ioc->node, flags, | ||
1146 | get_order(size)); | ||
1147 | 1145 | ||
1146 | if (node == NUMA_NO_NODE) | ||
1147 | node = numa_node_id(); | ||
1148 | |||
1149 | page = alloc_pages_exact_node(node, flags, get_order(size)); | ||
1148 | if (unlikely(!page)) | 1150 | if (unlikely(!page)) |
1149 | return NULL; | 1151 | return NULL; |
1150 | 1152 | ||
@@ -1914,7 +1916,7 @@ ioc_show(struct seq_file *s, void *v) | |||
1914 | seq_printf(s, "Hewlett Packard %s IOC rev %d.%d\n", | 1916 | seq_printf(s, "Hewlett Packard %s IOC rev %d.%d\n", |
1915 | ioc->name, ((ioc->rev >> 4) & 0xF), (ioc->rev & 0xF)); | 1917 | ioc->name, ((ioc->rev >> 4) & 0xF), (ioc->rev & 0xF)); |
1916 | #ifdef CONFIG_NUMA | 1918 | #ifdef CONFIG_NUMA |
1917 | if (ioc->node != MAX_NUMNODES) | 1919 | if (ioc->node != NUMA_NO_NODE) |
1918 | seq_printf(s, "NUMA node : %d\n", ioc->node); | 1920 | seq_printf(s, "NUMA node : %d\n", ioc->node); |
1919 | #endif | 1921 | #endif |
1920 | seq_printf(s, "IOVA size : %ld MB\n", ((ioc->pdir_size >> 3) * iovp_size)/(1024*1024)); | 1922 | 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) | |||
2022 | unsigned int node; | 2024 | unsigned int node; |
2023 | int pxm; | 2025 | int pxm; |
2024 | 2026 | ||
2025 | ioc->node = MAX_NUMNODES; | 2027 | ioc->node = NUMA_NO_NODE; |
2026 | 2028 | ||
2027 | pxm = acpi_get_pxm(handle); | 2029 | pxm = acpi_get_pxm(handle); |
2028 | 2030 | ||
@@ -2031,7 +2033,7 @@ sba_map_ioc_to_node(struct ioc *ioc, acpi_handle handle) | |||
2031 | 2033 | ||
2032 | node = pxm_to_node(pxm); | 2034 | node = pxm_to_node(pxm); |
2033 | 2035 | ||
2034 | if (node >= MAX_NUMNODES || !node_online(node)) | 2036 | if (node == NUMA_NO_NODE || !node_online(node)) |
2035 | return; | 2037 | return; |
2036 | 2038 | ||
2037 | ioc->node = node; | 2039 | ioc->node = node; |