mirror of
https://github.com/ipxe/ipxe
synced 2025-12-29 11:03:15 +03:00
[virtio] Remove queue size limit in legacy virtio
Virtio 0.9 implementation was limited to the maximum virtqueue size of MAX_QUEUE_NUM and the virtio-net driver would fail to initialize on hosts exceeding this limit. This commit lifts the restriction by allocating the queue memory based on the actual queue size instead of using a fixed maximum. Note that virtio 1.0 still uses the MAX_QUEUE_NUM constant to cap the size (unfortunately this functionality is not available in virtio 0.9). Signed-off-by: Ladi Prosek <lprosek@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
committed by
Michael Brown
parent
b782a56be7
commit
fba3b39900
@@ -185,6 +185,7 @@ static void virtnet_free_virtqueues ( struct net_device *netdev ) {
|
||||
|
||||
for ( i = 0; i < QUEUE_NB; i++ ) {
|
||||
virtio_pci_unmap_capability ( &virtnet->virtqueue[i].notification );
|
||||
vp_free_vq ( &virtnet->virtqueue[i] );
|
||||
}
|
||||
|
||||
free ( virtnet->virtqueue );
|
||||
|
||||
Reference in New Issue
Block a user