diff options
author | 2008-10-27 19:48:47 +0000 | |
---|---|---|
committer | 2008-10-31 16:13:46 +1100 | |
commit | b30115ea8f685bcd1769553fe8511745f985053c (patch) | |
tree | 3bc3bbeeeaf9efbf117c87d8cda846f3206e0e46 /arch/powerpc | |
parent | powerpc/pci: Properly allocate bus resources for hotplug PHBs (diff) | |
download | linux-b30115ea8f685bcd1769553fe8511745f985053c.tar.gz linux-b30115ea8f685bcd1769553fe8511745f985053c.tar.bz2 linux-b30115ea8f685bcd1769553fe8511745f985053c.zip |
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/powerpc')
-rw-r--r-- | arch/powerpc/kernel/pci_64.c | 2 |
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) pci_name(bus->self)); __flush_hash_table_range(&init_mm, res->start + _IO_BASE, - res->end - res->start + 1); + res->end + _IO_BASE + 1); return 0; } |