Revision 7157e2e2

b/hw/syborg_virtio.c
146 146
            vdev->queue_sel = value;
147 147
        break;
148 148
    case SYBORG_VIRTIO_QUEUE_NOTIFY:
149
        virtio_queue_notify(vdev, value);
149
        if (value < VIRTIO_PCI_QUEUE_MAX) {
150
            virtio_queue_notify(vdev, value);
151
        }
150 152
        break;
151 153
    case SYBORG_VIRTIO_STATUS:
152 154
        virtio_set_status(vdev, value & 0xFF);
b/hw/virtio-pci.c
348 348
            vdev->queue_sel = val;
349 349
        break;
350 350
    case VIRTIO_PCI_QUEUE_NOTIFY:
351
        virtio_queue_notify(vdev, val);
351
        if (val < VIRTIO_PCI_QUEUE_MAX) {
352
            virtio_queue_notify(vdev, val);
353
        }
352 354
        break;
353 355
    case VIRTIO_PCI_STATUS:
354 356
        if (!(val & VIRTIO_CONFIG_S_DRIVER_OK)) {
b/hw/virtio.c
585 585

  
586 586
void virtio_queue_notify(VirtIODevice *vdev, int n)
587 587
{
588
    if (n < VIRTIO_PCI_QUEUE_MAX) {
589
        virtio_queue_notify_vq(&vdev->vq[n]);
590
    }
588
    virtio_queue_notify_vq(&vdev->vq[n]);
591 589
}
592 590

  
593 591
uint16_t virtio_queue_vector(VirtIODevice *vdev, int n)

Also available in: Unified diff