Il 14/01/2014 15:24, Eric Farman ha scritto: > In some cases, an unplug can cause events to be dropped, which > leads to an assertion failure when preparing to notify the guest > kernel. This merely accommodates both variations of the "no event" > value that could occur in this codepath. > > Signed-off-by: Eric Farman <far...@linux.vnet.ibm.com> > --- > hw/scsi/virtio-scsi.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c > index 49a9576..f8e3632 100644 > --- a/hw/scsi/virtio-scsi.c > +++ b/hw/scsi/virtio-scsi.c > @@ -521,7 +521,8 @@ static void virtio_scsi_push_event(VirtIOSCSI *s, > SCSIDevice *dev, > evt->event = event; > evt->reason = reason; > if (!dev) { > - assert(event == VIRTIO_SCSI_T_NO_EVENT); > + assert(event == VIRTIO_SCSI_T_NO_EVENT || > + event == VIRTIO_SCSI_T_EVENTS_MISSED); > } else { > evt->lun[0] = 1; > evt->lun[1] = dev->id; >
Ugh, you're right. In fact, you can only have event == VIRTIO_SCSI_T_EVENTS_MISSED at this point. Can you make v2 that completely replaces the condition? Paolo