mirror of https://gitee.com/openkylin/qemu.git
arm: postpone device listener unregister
It's a preparation for follow-up patch to call region_del() in memory_listener_unregister(), otherwise all device addr attached with kvm_devices_head will be reset before calling kvm_arm_set_device_addr. Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <20180122060244.29368-3-peterx@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
0750b06021
commit
0bbe435410
|
@ -266,7 +266,6 @@ static void kvm_arm_machine_init_done(Notifier *notifier, void *data)
|
|||
{
|
||||
KVMDevice *kd, *tkd;
|
||||
|
||||
memory_listener_unregister(&devlistener);
|
||||
QSLIST_FOREACH_SAFE(kd, &kvm_devices_head, entries, tkd) {
|
||||
if (kd->kda.addr != -1) {
|
||||
kvm_arm_set_device_addr(kd);
|
||||
|
@ -274,6 +273,7 @@ static void kvm_arm_machine_init_done(Notifier *notifier, void *data)
|
|||
memory_region_unref(kd->mr);
|
||||
g_free(kd);
|
||||
}
|
||||
memory_listener_unregister(&devlistener);
|
||||
}
|
||||
|
||||
static Notifier notify = {
|
||||
|
|
Loading…
Reference in New Issue