On Sun, 2010-12-05 at 15:47 +0100, Hauke Mehrtens wrote:
> Hi Steve,
>
> with your change the kernel do not try to access the cfe storage to get
> the configuration values, which are not stored there any way. Please try
> kernel 2.6.37-rc4, it contains some more fixes and do not try to access
> cfe. If this boots without any extra modifications I will backport the
> changes done in kernel 2.6.37.
>
> Hauke
After a few printk's, the traceback became a little more helpful.
The problem was some cfe_getenv's tucked away in
target/linux/brcm47xx/files-2.6.37/drivers/mtd/maps/bcm47xx-flash.c
After I removed them, 2.6.37-rc4 boots.
Steve
---
build_dir/linux-brcm47xx/linux-2.6.37-rc4/drivers/mtd/maps/bcm47xx-flash.c.orig
2010-12-05 12:43:53.907895337 -0500
+++ build_dir/linux-brcm47xx/linux-2.6.37-rc4/drivers/mtd/maps/bcm47xx-flash.c
2010-12-05 13:30:53.500900861 -0500
@@ -340,7 +340,7 @@
return -1;
found:
- printk(KERN_NOTICE"TRX offset : %lx\n", trxoff);
+ printk(KERN_NOTICE"TRX offset : %x\n", trxoff);
if (part->size == 0)
return 0;
@@ -398,23 +398,17 @@
u16 sdram_init = 0;
u16 cardbus = 0;
- if (nvram_getenv("boardnum", buf, sizeof(buf)) >= 0 ||
- cfe_getenv("boardnum", buf, sizeof(buf)) >= 0)
+ if (nvram_getenv("boardnum", buf, sizeof(buf)) >= 0)
boardnum = simple_strtoul(buf, NULL, 0);
- if (nvram_getenv("boardtype", buf, sizeof(buf)) >= 0 ||
- cfe_getenv("boardtype", buf, sizeof(buf)) >= 0)
+ if (nvram_getenv("boardtype", buf, sizeof(buf)) >= 0)
boardtype = simple_strtoul(buf, NULL, 0);
- if (nvram_getenv("boardrev", buf, sizeof(buf)) >= 0 ||
- cfe_getenv("boardrev", buf, sizeof(buf)) >= 0)
+ if (nvram_getenv("boardrev", buf, sizeof(buf)) >= 0)
boardrev = simple_strtoul(buf, NULL, 0);
- if (nvram_getenv("boardflags", buf, sizeof(buf)) >= 0 ||
- cfe_getenv("boardflags", buf, sizeof(buf)) >= 0)
+ if (nvram_getenv("boardflags", buf, sizeof(buf)) >= 0)
boardflags = simple_strtoul(buf, NULL, 0);
- if (nvram_getenv("sdram_init", buf, sizeof(buf)) >= 0 ||
- cfe_getenv("sdram_init", buf, sizeof(buf)) >= 0)
+ if (nvram_getenv("sdram_init", buf, sizeof(buf)) >= 0)
sdram_init = simple_strtoul(buf, NULL, 0);
- if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0 ||
- cfe_getenv("cardbus", buf, sizeof(buf)) >= 0)
+ if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0)
cardbus = simple_strtoul(buf, NULL, 0);
if ((boardnum == 8 || boardnum == 01)
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel