mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-26 20:03:54 -06:00
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: ab9935d299
(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>
This commit is contained in:
parent
dfaecc04c4
commit
988ad4cceb
1 changed files with 2 additions and 2 deletions
|
@ -973,8 +973,6 @@ static void virt_cpu_plug(HotplugHandler *hotplug_dev,
|
||||||
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(hotplug_dev);
|
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(hotplug_dev);
|
||||||
Error *err = NULL;
|
Error *err = NULL;
|
||||||
|
|
||||||
cpu_slot = virt_find_cpu_slot(MACHINE(lvms), cpu->phy_id);
|
|
||||||
cpu_slot->cpu = CPU(dev);
|
|
||||||
if (lvms->ipi) {
|
if (lvms->ipi) {
|
||||||
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->ipi), dev, &err);
|
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->ipi), dev, &err);
|
||||||
if (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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue