All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] virtio-scsi: Fix QEMU hang with vIOMMU and ATS
@ 2018-09-10 14:56 Fam Zheng
  2018-09-10 14:56 ` [Qemu-devel] [PATCH 1/2] virtio: Return true from virtio_queue_empty if broken Fam Zheng
  2018-09-10 14:56 ` [Qemu-devel] [PATCH 2/2] virtio-scsi/virtio-blk: Disable poll handlers when stopping vq handler Fam Zheng
  0 siblings, 2 replies; 15+ messages in thread
From: Fam Zheng @ 2018-09-10 14:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, qemu-block, Fam Zheng, Michael S. Tsirkin, peterx,
	Stefan Hajnoczi

The first patch describes the bug and the reproducer.

The VQ poll handler that is called by mistake within virtio_scsi_dataplane_stop
enters a dead loop because it fails to detect an error state. Fix both sides of
the problem: the handler should break out from the loop if no progress can be
made due to virtio_error; the handler shouldn't be called in that situation in
the first place.

Fam Zheng (2):
  virtio: Return true from virtio_queue_empty if broken
  virtio-scsi/virtio-blk: Disable poll handlers when stopping vq handler

 hw/block/dataplane/virtio-blk.c | 2 ++
 hw/scsi/virtio-scsi-dataplane.c | 2 ++
 hw/virtio/virtio.c              | 8 ++++++++
 3 files changed, 12 insertions(+)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2018-09-14  2:46 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-10 14:56 [Qemu-devel] [PATCH 0/2] virtio-scsi: Fix QEMU hang with vIOMMU and ATS Fam Zheng
2018-09-10 14:56 ` [Qemu-devel] [PATCH 1/2] virtio: Return true from virtio_queue_empty if broken Fam Zheng
2018-09-10 14:56 ` [Qemu-devel] [PATCH 2/2] virtio-scsi/virtio-blk: Disable poll handlers when stopping vq handler Fam Zheng
2018-09-11 11:32   ` Paolo Bonzini
2018-09-11 14:12     ` Fam Zheng
2018-09-11 15:30       ` Paolo Bonzini
2018-09-12  1:31         ` Fam Zheng
2018-09-12 11:11           ` Paolo Bonzini
2018-09-12 11:50             ` Fam Zheng
2018-09-12 12:42               ` Paolo Bonzini
2018-09-13  6:03                 ` Fam Zheng
2018-09-13  9:11                   ` Paolo Bonzini
2018-09-13 10:04                     ` [Qemu-devel] [Qemu-block] " Paolo Bonzini
2018-09-13 16:00                       ` Alex Williamson
2018-09-14  2:45                         ` Peter Xu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.