Don't nuke fw_argX from CFE - Thanks jhansen
[librecmc/librecmc.git] / target / linux / brcm47xx / patches-2.6.25 / 800-cfe-workaround.patch
1 Index: linux-2.6.25.4/arch/mips/bcm47xx/prom.c
2 ===================================================================
3 --- linux-2.6.25.4.orig/arch/mips/bcm47xx/prom.c
4 +++ linux-2.6.25.4/arch/mips/bcm47xx/prom.c
5 @@ -83,9 +83,18 @@ static __init void prom_init_cfe(void)
6                 }
7         }
8  
9 +        if (((unsigned int)prom_vec == 0x80300000) ||
10 +           ((unsigned int)prom_vec == 0x80400000)) {
11 +               /* WRT54G series workaround */
12 +               cfe_eptseal = CFE_EPTSEAL;
13 +               cfe_ept = 0xBFC00500;
14 +               cfe_handle = (uint32_t)argc;
15 +        }
16 +
17         if (cfe_eptseal != CFE_EPTSEAL) {
18                 /* too early for panic to do any good */
19                 printk(KERN_ERR "CFE's entrypoint seal doesn't match.");
20 +               *(unsigned int*)0xb8000064 = 0x1;
21                 while (1) ;
22         }
23