diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c index 87e3d865a55..6d512f1a75f 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c @@ -206,7 +206,7 @@ static struct adm5120_board __initdata adm5120_boards[] = { .name = "Infineon EASY 83000", .mach_type = MACH_ADM5120_EASY83000, .has_usb = 0, - .iface_num = 0, + .iface_num = 6, .flash0_size = 4*1024*1024, }, { @@ -880,7 +880,8 @@ static void __init adm5120_detect_board(void) if (t == MACH_ADM5120_UNKNOWN) t = uboot_detect_board(); } else { - t = prom_detect_board(); + if (t == MACH_ADM5120_UNKNOWN) + t = prom_detect_board(); } for (board = adm5120_boards; board->mach_type != MACH_ADM5120_UNKNOWN; diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c index a288b073cab..c2e1dcbae1e 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c @@ -32,7 +32,7 @@ #include -static char **prom_envp; +static char **prom_envp = NULL; void setup_prom_printf(int); void prom_printf(char *, ...); @@ -106,7 +106,9 @@ void __init prom_init(void) { char *cmd; - prom_envp = (char **)fw_arg2; + if ((fw_arg2 & 3) == 0) { + prom_envp = (char **)fw_arg2; + } adm5120_info_init();