qemu/hw
Stefan Hajnoczi 1a8c091c4e virtio-scsi: restart DMA after iothread
When the 'cont' command resumes guest execution the vm change state
handlers are invoked.  Unfortunately there is no explicit ordering
between classic qemu_add_vm_change_state_handler() callbacks.  When two
layers of code both use vm change state handlers, we don't control which
handler runs first.

virtio-scsi with iothreads hits a deadlock when a failed SCSI command is
restarted and completes before the iothread is re-initialized.

This patch uses the new qdev_add_vm_change_state_handler() API to
guarantee that virtio-scsi's virtio change state handler executes before
the SCSI bus children.  This way DMA is restarted after the iothread has
re-initialized.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2019-07-08 16:00:26 +02:00
..
9pfs xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
acpi
adc
alpha hw: Replace global smp variables with MachineState for all remaining archs 2019-07-05 17:08:03 -03:00
arm hw/arm/sbsa-ref: Remove unnecessary check for secure_sysmem == NULL 2019-07-08 14:11:31 +01:00
audio
block virtio, pc, pci: features, fixes, cleanups 2019-07-05 09:51:50 +01:00
bt
char xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
core qdev: add qdev_add_vm_change_state_handler() 2019-07-08 16:00:26 +02:00
cpu general: Replace global smp variables with smp machine properties 2019-07-05 17:07:36 -03:00
cris
display ati-vga: Fix setting offset together with pitch for r128pro 2019-07-05 09:50:33 +02:00
dma dma/rc4030: Minor code style cleanup 2019-06-26 13:25:07 +02:00
gpio
hppa hw: Replace global smp variables with MachineState for all remaining archs 2019-07-05 17:08:03 -03:00
hyperv
i2c hw/i2c/bitbang_i2c: Use in-place rather than malloc'd bitbang_i2c_interface struct 2019-07-03 10:51:35 +02:00
i386 Bugfixes. 2019-07-08 10:26:18 +01:00
ide
input
intc Bugfixes. 2019-07-08 10:26:18 +01:00
ipack
ipmi
isa
lm32
m68k
mem
microblaze
mips hw: Replace global smp variables with MachineState for all remaining archs 2019-07-05 17:08:03 -03:00
misc hw/misc/aspeed_xdma: New device 2019-07-01 17:29:00 +01:00
moxie
net sunhme: ensure that RX descriptor ring overflow is indicated to client driver 2019-07-02 22:49:08 +01:00
nios2
nvram
openrisc hw: Replace global smp variables with MachineState for all remaining archs 2019-07-05 17:08:03 -03:00
pci pcie: minor cleanups for slot control/status 2019-07-01 09:17:30 -04:00
pci-bridge pcie: check that slt ctrl changed before deleting 2019-07-01 09:17:30 -04:00
pci-host i.mx7d: pci: Update PCI IRQ mapping to match HW 2019-07-01 17:28:59 +01:00
pcmcia
ppc machine: show if CLI option '-numa node,mem' is supported in QAPI schema 2019-07-05 17:08:03 -03:00
rdma
riscv hw/riscv: Replace global smp variables with machine smp properties 2019-07-05 17:07:42 -03:00
s390x hw/s390x: Replace global smp variables with machine smp properties 2019-07-05 17:08:03 -03:00
scsi virtio-scsi: restart DMA after iothread 2019-07-08 16:00:26 +02:00
sd
semihosting
sh4
smbios machine: Refactor smp-related call chains to pass MachineState 2019-07-05 17:07:36 -03:00
sparc hw: Replace global smp variables with MachineState for all remaining archs 2019-07-05 17:08:03 -03:00
sparc64 hw: Replace global smp variables with MachineState for all remaining archs 2019-07-05 17:08:03 -03:00
ssi aspeed/smc: add a 'sdram_base' property 2019-07-01 17:28:59 +01:00
timer hw/timer/armv7m_systick: Forbid non-privileged accesses 2019-07-04 17:25:30 +01:00
tpm
tricore
unicore32
usb xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
vfio vfio/pci: Trace vfio_set_irq_signaling() failure in vfio_msix_vector_release() 2019-07-02 13:16:29 -06:00
virtio virtio-scsi: restart DMA after iothread 2019-07-08 16:00:26 +02:00
watchdog aspeed: Link SCU to the watchdog 2019-07-01 17:29:00 +01:00
xen xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xenpv
xtensa hw: Replace global smp variables with MachineState for all remaining archs 2019-07-05 17:08:03 -03:00
Kconfig
Makefile.objs