aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-10-27 15:48:47 -0400
committerPaul Mackerras <paulus@samba.org>2008-10-31 01:13:46 -0400
commitb30115ea8f685bcd1769553fe8511745f985053c (patch)
tree3bc3bbeeeaf9efbf117c87d8cda846f3206e0e46 /arch
parente90a13184600ec756875238ad130e2f205cd9a1b (diff)
powerpc/pci: Fix unmapping of IO space on 64-bit
A typo/thinko made us pass the wrong argument to __flush_hash_table_range when unplugging bridges, thus not flushing all the translations for the IO space on unplug. The third parameter to __flush_hash_table_range is `end', not `size'. This causes the hypervisor to refuse unplugging slots. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/pci_64.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index 8247cff1cb3e..3502b9101e6b 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
@@ -426,7 +426,7 @@ int pcibios_unmap_io_space(struct pci_bus *bus)
426 pci_name(bus->self)); 426 pci_name(bus->self));
427 427
428 __flush_hash_table_range(&init_mm, res->start + _IO_BASE, 428 __flush_hash_table_range(&init_mm, res->start + _IO_BASE,
429 res->end - res->start + 1); 429 res->end + _IO_BASE + 1);
430 return 0; 430 return 0;
431 } 431 }
432 432