qemu-patch-raspberry4/hw/core
Paolo Bonzini abed886ec6 qdev: Free QemuOpts when the QOM path goes away
Otherwise there is a race where the DEVICE_DELETED event has been sent but
attempts to reuse the ID will fail.

Note that similar races exist for other QemuOpts, which this patch
does not attempt to fix.

For example, if the device is a block device, then unplugging it also
deletes its backend.  However, this backend's get deleted in
drive_info_del(), which is only called when properties are
destroyed.  Just like device_finalize(), drive_info_del() is called
some time after DEVICE_DELETED is sent.  A separate patch series has
been sent to plug this other bug.  Character devices also have yet to
be fixed.

Reported-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2016-01-18 17:47:58 +01:00
..
empty_slot.c empty_slot: QOM cast cleanup 2013-07-29 21:06:37 +02:00
fw-path-provider.c fw_cfg: fix typos in comments: patch -> path 2015-02-10 09:27:19 +03:00
hotplug.c qdev: HotplugHandler: Provide unplug callback 2014-10-15 05:03:13 +02:00
irq.c irq: Remove qemu_irq_intercept_out 2014-10-23 16:41:25 +02:00
loader.c pc: Move option_rom_has_mr/rom_file_has_mr globals to MachineClass 2015-12-22 17:45:12 +02:00
machine.c pc: Move option_rom_has_mr/rom_file_has_mr globals to MachineClass 2015-12-22 17:45:12 +02:00
Makefile.objs Create specific config option for "platform-bus" 2015-02-27 15:17:42 +01:00
nmi.c error: Consistently name Error * objects err, and not errp 2016-01-13 15:16:19 +01:00
null-machine.c Use DEFINE_MACHINE() to register all machines 2015-09-19 16:40:15 +02:00
platform-bus.c sysbus: Don't use hw_error() in machine_init_done_notifiers 2016-01-13 11:58:58 +01:00
ptimer.c replay: ptimer 2015-11-06 10:16:03 +01:00
qdev-properties-system.c hw: Inline the qdev_prop_set_drive_nofail() wrapper 2016-01-13 11:58:58 +01:00
qdev-properties.c error: Use error_reportf_err() where it makes obvious sense 2016-01-13 15:16:17 +01:00
qdev.c qdev: Free QemuOpts when the QOM path goes away 2016-01-18 17:47:58 +01:00
stream.c stream: Remove app argument hack 2013-04-16 10:04:23 +02:00
sysbus.c sysbus: add irq_routing_notifier 2015-07-06 12:15:14 -06:00
uboot_image.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00