summaryrefslogtreecommitdiffstats
path: root/src/drivers/bus
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/bus')
-rw-r--r--src/drivers/bus/virtio-pci.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/drivers/bus/virtio-pci.c b/src/drivers/bus/virtio-pci.c
index 3311595fb..1fcf9bae0 100644
--- a/src/drivers/bus/virtio-pci.c
+++ b/src/drivers/bus/virtio-pci.c
@@ -358,12 +358,18 @@ int vpm_find_vqs(struct virtio_pci_modern_device *vdev,
return -EINVAL;
}
+ if (size > MAX_QUEUE_NUM) {
+ /* iPXE networking tends to be not perf critical so there's no
+ * need to accept large queue sizes.
+ */
+ size = MAX_QUEUE_NUM;
+ }
+
vq = &vqs[i];
vq->queue_index = i;
/* get offset of notification word for this vq */
off = vpm_ioread16(vdev, &vdev->common, COMMON_OFFSET(queue_notify_off));
- vq->vring.num = size;
vring_init(&vq->vring, size, (unsigned char *)vq->queue);