[PATCH] ppc64: Don't panic when early __ioremap fails
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 10 Nov 2005 00:12:11 +0000 (11:12 +1100)
committerPaul Mackerras <paulus@samba.org>
Thu, 10 Nov 2005 00:26:06 +0000 (11:26 +1100)
Early calls to __ioremap() will panic if the hash insertion fails. This
patch makes them return NULL instead. It happens with some pSeries users
who enabled CONFIG_BOOTX_TEXT. The later is getting an incorrect address
for the fame buffer and the hash insertion fails. With this patch, it
will display an error instead of crashing at boot.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/mm/pgtable_64.c

index 900842451bd33a339676ffddfc540cc8e7f82646..c7f7bb6f30b3698769951d6ba63141de9ae82074 100644 (file)
@@ -122,8 +122,11 @@ static int map_io_page(unsigned long ea, unsigned long pa, int flags)
                 *
                 */
                if (htab_bolt_mapping(ea, ea + PAGE_SIZE, pa, flags,
-                                     mmu_virtual_psize))
-                       panic("Can't map bolted IO mapping");
+                                     mmu_virtual_psize)) {
+                       printk(KERN_ERR "Failed to do bolted mapping IO "
+                              "memory at %016lx !\n", pa);
+                       return -ENOMEM;
+               }
        }
        return 0;
 }