--- linux-2.6.22.14/drivers/pci/setup-bus.c 2008-01-22 14:01:35.000000000 +0200 +++ linux/drivers/pci/setup-bus.c 2008-01-15 11:02:27.000000000 +0200 @@ -307,7 +307,9 @@ static void pbus_size_io(struct pci_bus } /* To be fixed in 2.5: we should have sort of HAVE_ISA flag in the struct pci_bus. */ -#if defined(CONFIG_ISA) || defined(CONFIG_EISA) +/* NOTE: all io resources get aligned to 1024 with maximum size 256, + so we should increase IO space 4 times even on RB500/RB100 */ +#if defined(CONFIG_ISA) || defined(CONFIG_EISA) || defined(CONFIG_MIPS_MIKROTIK) size = (size & 0xff) + ((size & ~0xffUL) << 2); #endif size = ROUND_UP(size + size1, 4096);