diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2008-10-27 15:48:47 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-10-31 01:13:46 -0400 |
commit | b30115ea8f685bcd1769553fe8511745f985053c (patch) | |
tree | 3bc3bbeeeaf9efbf117c87d8cda846f3206e0e46 /arch/powerpc | |
parent | e90a13184600ec756875238ad130e2f205cd9a1b (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/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) | |||
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 | ||