diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2015-08-09 23:58:39 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-08-14 09:50:12 -0600 |
commit | ecfeadabb74452a0d78e6d12de9b63263a4a90c5 (patch) | |
tree | 8b2940dbee2c7a37915166f8a732a5761b91b386 /arch | |
parent | 57dccb55fc48825db0c125926112af70faabc151 (diff) |
x86: Set APs' req_seq to the reg number from device tree
Multiple APs are brought up simultaneously and they may get the same
seq num in the uclass_resolve_seq() during device_probe(). To avoid
this, set req_seq to the reg number in the device tree in advance.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/cpu/mp_init.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c index 3294a50b760..4334f5b3e5a 100644 --- a/arch/x86/cpu/mp_init.c +++ b/arch/x86/cpu/mp_init.c @@ -515,5 +515,12 @@ int mp_init(struct mp_params *p) int mp_init_cpu(struct udevice *cpu, void *unused) { + /* + * Multiple APs are brought up simultaneously and they may get the same + * seq num in the uclass_resolve_seq() during device_probe(). To avoid + * this, set req_seq to the reg number in the device tree in advance. + */ + cpu->req_seq = fdtdec_get_int(gd->fdt_blob, cpu->of_offset, "reg", -1); + return device_probe(cpu); } |