diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index 6e5e4547981cfc2677926d4cb248b5313106b7ee..70744e344fa1f7541e249299f1a056d2689cf7c3 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c @@ -390,10 +390,13 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early) break; } default: - { - count = mpc->mpc_length; - break; - } + /* wrong mptable */ + printk(KERN_ERR "Your mptable is wrong, contact your HW vendor!\n"); + printk(KERN_ERR "type %x\n", *mpt); + print_hex_dump(KERN_ERR, " ", DUMP_PREFIX_ADDRESS, 16, + 1, mpc, mpc->mpc_length, 1); + count = mpc->mpc_length; + break; } #ifdef CONFIG_X86_NUMAQ ++mpc_record;