diff options
| author | Bibo Mao <maobibo@loongson.cn> | 2025-03-24 11:01:44 +0800 |
|---|---|---|
| committer | Song Gao <gaosong@loongson.cn> | 2025-04-08 14:44:26 +0800 |
| commit | 988ad4ccebb625a47a73977bfac291341a951c6e (patch) | |
| tree | 9eae9a12f19276594234b53e8403bbcb0fd26de7 /hw/loongarch/virt.c | |
| parent | dfaecc04c46d298e9ee81bd0ca96d8754f1c27ed (diff) | |
| download | focaccia-qemu-988ad4ccebb625a47a73977bfac291341a951c6e.tar.gz focaccia-qemu-988ad4ccebb625a47a73977bfac291341a951c6e.zip | |
hw/loongarch/virt: Fix cpuslot::cpu set at last in virt_cpu_plug()
In function virt_cpu_plug(), Object cpuslot::cpu is set at last only when there is no any error, otherwise it is problematic that cpuslot::cpu is set in advance however it returns because of error. Fixes: ab9935d2991e (hw/loongarch/virt: Implement cpu plug interface) Signed-off-by: Bibo Mao <maobibo@loongson.cn> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20250324030145.3037408-2-maobibo@loongson.cn> Signed-off-by: Song Gao <gaosong@loongson.cn>
Diffstat (limited to 'hw/loongarch/virt.c')
| -rw-r--r-- | hw/loongarch/virt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c index e25864214f..504f8755a0 100644 --- a/hw/loongarch/virt.c +++ b/hw/loongarch/virt.c @@ -973,8 +973,6 @@ static void virt_cpu_plug(HotplugHandler *hotplug_dev, LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(hotplug_dev); Error *err = NULL; - cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id); - cpu_slot->cpu = CPU(dev); if (lvms->ipi) { hotplug_handler_plug(HOTPLUG_HANDLER(lvms->ipi), dev, &err); if (err) { @@ -998,6 +996,8 @@ static void virt_cpu_plug(HotplugHandler *hotplug_dev, } } + cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id); + cpu_slot->cpu = CPU(dev); return; } |