diff -urNp bus-ref/arch/i386/kernel/mpparse.c bus/arch/i386/kernel/mpparse.c --- bus-ref/arch/i386/kernel/mpparse.c Thu Aug 29 02:13:02 2002 +++ bus/arch/i386/kernel/mpparse.c Thu Sep 5 00:43:50 2002 @@ -247,6 +247,11 @@ static void __init MP_bus_info (struct m char str[7]; int quad; + if (m->mpc_busid >= MAX_MP_BUSSES) { + printk(KERN_ERR "MAX_MP_BUSSES ERROR mpc_busid %d, max %d\n", m->mpc_busid, MAX_MP_BUSSES); + return; + } + memcpy(str, m->mpc_bustype, 6); str[6] = 0; diff -urNp bus-ref/include/asm-i386/mpspec.h bus/include/asm-i386/mpspec.h --- bus-ref/include/asm-i386/mpspec.h Fri Aug 9 14:52:20 2002 +++ bus/include/asm-i386/mpspec.h Thu Sep 5 00:43:48 2002 @@ -184,13 +184,10 @@ struct mpc_config_translation * 7 2 CPU MCA+PCI */ -#ifdef CONFIG_MULTIQUAD -#define MAX_IRQ_SOURCES 512 -#else /* !CONFIG_MULTIQUAD */ -#define MAX_IRQ_SOURCES 256 -#endif /* CONFIG_MULTIQUAD */ +#define MAX_MP_BUSSES 257 /* Need max PCI busses for hotplug + 1 for ISA. */ + /* Four intrs per PCI slot. */ +#define MAX_IRQ_SOURCES (MAX_MP_BUSSES * 4) -#define MAX_MP_BUSSES 32 enum mp_bustype { MP_BUS_ISA = 1, MP_BUS_EISA,