qemu-e2k/hw
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
..
9pfs 9pfs: introduce V9fsVirtioState 2016-01-12 11:04:14 +05:30
acpi trivial patches for 2016-01-11 2016-01-11 12:56:58 +00:00
alpha isa: Clean up error handling around isa_bus_new() 2016-01-13 11:58:59 +01:00
arm ARM: virt: Don't generate RTC ACPI device when using UEFI 2016-01-15 14:55:16 +00:00
audio
block error: Use error_prepend() where it makes obvious sense 2016-01-13 15:16:17 +01:00
bt
char Error reporting patches for 2016-01-13 2016-01-14 13:07:38 +00:00
core qdev: Free QemuOpts when the QOM path goes away 2016-01-18 17:47:58 +01:00
cpu
cris
display ui/curses: Fix color attribute of monitor for curses 2016-01-08 12:20:07 +01:00
dma hw/dma/xilinx_axidma: remove dead code 2016-01-11 15:52:18 +00:00
gpio omap: Don't use hw_error() in device init() methods 2016-01-13 11:58:58 +01:00
i2c omap: Don't use hw_error() in device init() methods 2016-01-13 11:58:58 +01:00
i386 i386: avoid null pointer dereference 2016-01-15 18:58:01 +01:00
ide hw: Inline the qdev_prop_set_drive_nofail() wrapper 2016-01-13 11:58:58 +01:00
input
intc omap: Don't use hw_error() in device init() methods 2016-01-13 11:58:58 +01:00
ipack
ipmi ipmi: Add a force off function 2015-12-22 18:39:19 +02:00
isa isa: Clean up inappropriate hw_error() 2016-01-13 15:15:57 +01:00
lm32
m68k hw: Don't use hw_error() for machine initialization errors 2016-01-13 11:58:58 +01:00
mem nvdimm: implement NVDIMM device abstract 2015-12-22 18:39:20 +02:00
microblaze petalogix-ml605: Set the MicroBlaze CPU version to 8.10.a 2016-01-07 14:57:26 +01:00
mips isa: Clean up error handling around isa_bus_new() 2016-01-13 11:58:59 +01:00
misc i.MX: move i.MX31 CCM object to register array 2016-01-11 15:52:18 +00:00
moxie
net etraxfs_eth: Don't use hw_error() in init() method 2016-01-13 11:58:58 +01:00
nvram
openrisc
pci
pci-bridge hw/pxb: introduce pxb-pcie expander for PCIe machines 2015-12-22 17:45:13 +02:00
pci-host isa: Clean up error handling around isa_bus_new() 2016-01-13 11:58:59 +01:00
pcmcia
ppc qom: Change object property iterator API contract 2016-01-18 17:47:58 +01:00
s390x Error reporting patches for 2016-01-13 2016-01-14 13:07:38 +00:00
scsi SCSI device: fix to incomplete QOMify 2016-01-15 18:58:01 +01:00
sd
sh4 SH PCI Host: convert to realize() 2016-01-11 11:39:28 +03:00
smbios Use error_fatal to simplify obvious fatal errors 2016-01-13 11:58:58 +01:00
sparc
sparc64 target-sparc: Convert to VMStateDescription 2016-01-16 12:01:23 +00:00
ssi
timer arm_mptimer: Don't use hw_error() in realize() method 2016-01-13 11:58:58 +01:00
tpm qemu-char: delete send_all/recv_all helper methods 2016-01-15 18:58:01 +01:00
tricore
unicore32 hw: Don't use hw_error() for machine initialization errors 2016-01-13 11:58:58 +01:00
usb error: Use error_prepend() where it makes obvious sense 2016-01-13 15:16:17 +01:00
vfio
virtio VirtFS update: 2016-01-12 17:37:22 +00:00
watchdog
xen xen/Makefile.objs: simplify 2016-01-11 11:39:28 +03:00
xenpv
xtensa
Makefile.objs Add a base IPMI interface 2015-12-22 18:39:19 +02:00