diff options
Diffstat (limited to 'arch/mips/bcm63xx')
| -rw-r--r-- | arch/mips/bcm63xx/boards/board_bcm963xx.c | 5 | ||||
| -rw-r--r-- | arch/mips/bcm63xx/nvram.c | 7 | ||||
| -rw-r--r-- | arch/mips/bcm63xx/setup.c | 2 |
3 files changed, 5 insertions, 9 deletions
diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c index ed1949c29508..9aa7d44898ed 100644 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c | |||
| @@ -745,10 +745,7 @@ void __init board_prom_init(void) | |||
| 745 | strcpy(cfe_version, "unknown"); | 745 | strcpy(cfe_version, "unknown"); |
| 746 | printk(KERN_INFO PFX "CFE version: %s\n", cfe_version); | 746 | printk(KERN_INFO PFX "CFE version: %s\n", cfe_version); |
| 747 | 747 | ||
| 748 | if (bcm63xx_nvram_init(boot_addr + BCM963XX_NVRAM_OFFSET)) { | 748 | bcm63xx_nvram_init(boot_addr + BCM963XX_NVRAM_OFFSET); |
| 749 | printk(KERN_ERR PFX "invalid nvram checksum\n"); | ||
| 750 | return; | ||
| 751 | } | ||
| 752 | 749 | ||
| 753 | board_name = bcm63xx_nvram_get_name(); | 750 | board_name = bcm63xx_nvram_get_name(); |
| 754 | /* find board by name */ | 751 | /* find board by name */ |
diff --git a/arch/mips/bcm63xx/nvram.c b/arch/mips/bcm63xx/nvram.c index 620611680839..a4b8864f9307 100644 --- a/arch/mips/bcm63xx/nvram.c +++ b/arch/mips/bcm63xx/nvram.c | |||
| @@ -38,7 +38,7 @@ struct bcm963xx_nvram { | |||
| 38 | static struct bcm963xx_nvram nvram; | 38 | static struct bcm963xx_nvram nvram; |
| 39 | static int mac_addr_used; | 39 | static int mac_addr_used; |
| 40 | 40 | ||
| 41 | int __init bcm63xx_nvram_init(void *addr) | 41 | void __init bcm63xx_nvram_init(void *addr) |
| 42 | { | 42 | { |
| 43 | unsigned int check_len; | 43 | unsigned int check_len; |
| 44 | u32 crc, expected_crc; | 44 | u32 crc, expected_crc; |
| @@ -60,9 +60,8 @@ int __init bcm63xx_nvram_init(void *addr) | |||
| 60 | crc = crc32_le(~0, (u8 *)&nvram, check_len); | 60 | crc = crc32_le(~0, (u8 *)&nvram, check_len); |
| 61 | 61 | ||
| 62 | if (crc != expected_crc) | 62 | if (crc != expected_crc) |
| 63 | return -EINVAL; | 63 | pr_warn("nvram checksum failed, contents may be invalid (expected %08x, got %08x)\n", |
| 64 | 64 | expected_crc, crc); | |
| 65 | return 0; | ||
| 66 | } | 65 | } |
| 67 | 66 | ||
| 68 | u8 *bcm63xx_nvram_get_name(void) | 67 | u8 *bcm63xx_nvram_get_name(void) |
diff --git a/arch/mips/bcm63xx/setup.c b/arch/mips/bcm63xx/setup.c index 314231be788c..35e18e98beb9 100644 --- a/arch/mips/bcm63xx/setup.c +++ b/arch/mips/bcm63xx/setup.c | |||
| @@ -157,4 +157,4 @@ int __init bcm63xx_register_devices(void) | |||
| 157 | return board_register_devices(); | 157 | return board_register_devices(); |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | device_initcall(bcm63xx_register_devices); | 160 | arch_initcall(bcm63xx_register_devices); |
