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.
This causes the hypervisor to refuse unplugging slots. Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]> --- arch/powerpc/kernel/pci_64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux-work.orig/arch/powerpc/kernel/pci_64.c 2008-10-28 16:33:48.000000000 +1100 +++ linux-work/arch/powerpc/kernel/pci_64.c 2008-10-28 16:38:45.000000000 +1100 @@ -426,7 +426,7 @@ int pcibios_unmap_io_space(struct pci_bu 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; } _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev