[Blackfin] arch: Fix BUG - Enable ISP1362 driver to work ok with BF561

This fixes a bug (zero pointer access) only seen on BF561, during USB
Mass Storage/SCSI Host initialization.

It appears to be related to registering a none existing CPU

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
This commit is contained in:
Michael Hennerich 2008-02-02 15:10:51 +08:00 committed by Bryan Wu
parent a680ae9bdd
commit 6cda2e9058
1 changed files with 10 additions and 8 deletions

View File

@ -48,6 +48,8 @@
#include <asm/fixed_code.h>
#include <asm/early_printk.h>
static DEFINE_PER_CPU(struct cpu, cpu_devices);
u16 _bfin_swrst;
unsigned long memory_start, memory_end, physical_mem_end;
@ -763,15 +765,15 @@ void __init setup_arch(char **cmdline_p)
static int __init topology_init(void)
{
#if defined (CONFIG_BF561)
static struct cpu cpu[2];
register_cpu(&cpu[0], 0);
register_cpu(&cpu[1], 1);
int cpu;
for_each_possible_cpu(cpu) {
struct cpu *c = &per_cpu(cpu_devices, cpu);
register_cpu(c, cpu);
}
return 0;
#else
static struct cpu cpu[1];
return register_cpu(cpu, 0);
#endif
}
subsys_initcall(topology_init);