• Mike Frysinger's avatar
    ARM: footbridge: fix overlapping PCI mappings · 1b1eeeb0
    Mike Frysinger authored
    commit 6287e731 upstream.
    
    Commit 8ef6e620 (ARM: footbridge: use
    fixed PCI i/o mapping) broke booting on my netwinder.  Before that,
    everything boots fine.  Since then, it crashes on boot.
    
    With earlyprintk, I see it BUG-ing like so:
    kernel BUG at lib/ioremap.c:27!
    Internal error: Oops - BUG: 0 [#1] ARM
    ...
    [<c0139b54>] (ioremap_page_range+0x128/0x154) from [<c02e6a6c>] (dc21285_setup+0xd0/0x114)
    [<c02e6a6c>] (dc21285_setup+0xd0/0x114) from [<c02e4874>] (pci_common_init+0xa0/0x298)
    [<c02e4874>] (pci_common_init+0xa0/0x298) from [<c02e793c>] (netwinder_pci_init+0xc/0x18)
    [<c02e793c>] (netwinder_pci_init+0xc/0x18) from [<c02e27d0>] (do_one_initcall+0xb4/0x180)
    ...
    
    Russell points out it's because of overlapping PCI mappings that was
    added with the aforementioned commit.  Rob thought the code would re-use
    the static mapping, but that turns out to not be the case and instead
    hits the BUG further down.
    
    After deleting this hunk as suggested by Russel, the system boots up fine
    again and all my PCI devices work (IDE, ethernet, the DC21285).
    Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
    Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
    Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    1b1eeeb0
dc21285.c 8.93 KB