From: Benjamin Herrenschmidt Date: Mon, 27 Oct 2008 19:48:47 +0000 (+0000) Subject: powerpc/pci: Fix unmapping of IO space on 64-bit X-Git-Tag: v2.6.28-rc3~22^2~8 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=b30115ea8f685bcd1769553fe8511745f985053c;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Paul Mackerras --- diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c index 8247cff1cb3..3502b9101e6 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; }