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 <[email protected]>
---

 arch/x86/cpu/mp_init.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
index 3294a50..4334f5b 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);
 }
-- 
1.8.2.1

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to