ia64: Fix kernel BUG at lib/ioremap.c:72!
authorTony Luck <tony.luck@intel.com>
Mon, 20 Aug 2018 16:31:04 +0000 (09:31 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Aug 2018 19:22:48 +0000 (12:22 -0700)
Commit 0bbf47eab469 ("ia64: use asm-generic/io.h") results in a BUG
while booting ia64.  This is because asm-generic/io.h defines
PCI_IOBASE, which results in the function acpi_pci_root_remap_iospace()
doing a lot of unnecessary (and wrong) things.

I'd suggested an #if !CONFIG_IA64 in the functon, but Arnd suggested
keeping the fix inside the arch/ia64 tree.

Fixes: 0bbf47eab469 ("ia64: use asm-generic/io.h")
Suggested-by: Arnd Bergman <arnd@arndb.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/ia64/include/asm/io.h

index 6f952171abf9458ab9777566cb7647e1e03217df..1e6fef69bb01c26286df9ea7963d092b442e66ab 100644 (file)
@@ -454,6 +454,7 @@ extern void memset_io(volatile void __iomem *s, int c, long n);
 #define xlate_dev_kmem_ptr xlate_dev_kmem_ptr
 #define xlate_dev_mem_ptr xlate_dev_mem_ptr
 #include <asm-generic/io.h>
+#undef PCI_IOBASE
 
 # endif /* __KERNEL__ */