[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:
parent
a680ae9bdd
commit
6cda2e9058
|
@ -48,6 +48,8 @@
|
||||||
#include <asm/fixed_code.h>
|
#include <asm/fixed_code.h>
|
||||||
#include <asm/early_printk.h>
|
#include <asm/early_printk.h>
|
||||||
|
|
||||||
|
static DEFINE_PER_CPU(struct cpu, cpu_devices);
|
||||||
|
|
||||||
u16 _bfin_swrst;
|
u16 _bfin_swrst;
|
||||||
|
|
||||||
unsigned long memory_start, memory_end, physical_mem_end;
|
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)
|
static int __init topology_init(void)
|
||||||
{
|
{
|
||||||
#if defined (CONFIG_BF561)
|
int cpu;
|
||||||
static struct cpu cpu[2];
|
|
||||||
register_cpu(&cpu[0], 0);
|
for_each_possible_cpu(cpu) {
|
||||||
register_cpu(&cpu[1], 1);
|
struct cpu *c = &per_cpu(cpu_devices, cpu);
|
||||||
|
|
||||||
|
register_cpu(c, cpu);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
|
||||||
static struct cpu cpu[1];
|
|
||||||
return register_cpu(cpu, 0);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
subsys_initcall(topology_init);
|
subsys_initcall(topology_init);
|
||||||
|
|
Loading…
Reference in New Issue