Index: linux-2.6.25.1/arch/mips/bcm47xx/prom.c =================================================================== --- linux-2.6.25.1.orig/arch/mips/bcm47xx/prom.c 2008-05-14 14:46:44.000000000 +0100 +++ linux-2.6.25.1/arch/mips/bcm47xx/prom.c 2008-05-14 17:05:43.000000000 +0100 @@ -83,9 +83,18 @@ static __init void prom_init_cfe(void) } } + if (((unsigned int)prom_vec == 0x80300000) || + ((unsigned int)prom_vec == 0x80400000)) { + /* WRT54G series workaround */ + cfe_eptseal = CFE_EPTSEAL; + cfe_ept = 0xBFC00500; + cfe_handle = (uint32_t)argc; + } + if (cfe_eptseal != CFE_EPTSEAL) { /* too early for panic to do any good */ printk(KERN_ERR "CFE's entrypoint seal doesn't match."); + *(unsigned int*)0xb8000064 = 0x1; while (1) ; }