Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50747cb8189d54369d75e1bd73f84db431d39af8 Commit: 50747cb8189d54369d75e1bd73f84db431d39af8 Parent: 6dfbde209171cd15407e7540d363a434a489aaca Author: Benjamin Herrenschmidt <[EMAIL PROTECTED]> AuthorDate: Thu Jul 26 14:07:13 2007 +1000 Committer: Paul Mackerras <[EMAIL PROTECTED]> CommitDate: Thu Jul 26 16:17:48 2007 +1000
[POWERPC] Make pci_iounmap actually unmap things This patch uses the newly added functions for testing if an address is an ISA or PCI IO port to properly unmap things in pci_iounmap that aren't such ports. Without that, drivers using the iomap API will never actually unmap resources, which on IBM server machines will prevent hot-unplug of the corresponding HW adapters. Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]> Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]> --- arch/powerpc/kernel/iomap.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/kernel/iomap.c b/arch/powerpc/kernel/iomap.c index 601ef79..2a5cf86 100644 --- a/arch/powerpc/kernel/iomap.c +++ b/arch/powerpc/kernel/iomap.c @@ -7,6 +7,7 @@ #include <linux/pci.h> #include <linux/mm.h> #include <asm/io.h> +#include <asm/pci-bridge.h> /* * Here comes the ppc64 implementation of the IOMAP @@ -136,7 +137,12 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max) void pci_iounmap(struct pci_dev *dev, void __iomem *addr) { - /* Nothing to do */ + if (isa_vaddr_is_ioport(addr)) + return; + if (pcibios_vaddr_is_ioport(addr)) + return; + iounmap(addr); } + EXPORT_SYMBOL(pci_iomap); EXPORT_SYMBOL(pci_iounmap); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html