[PATCH net-next v21 01/13] virtio_pci: Remove supported_cap size build assert
From: Shahar Shitrit <hidden>
Date: 2026-08-03 14:07:31
Also in:
virtualization
Subsystem:
the rest, virtio core · Maintainers:
Linus Torvalds, "Michael S. Tsirkin", Jason Wang
From: Daniel Jurgens <redacted> The cap ID list can be more than 64 bits. Remove the build assert. Also remove caching of the supported caps, it wasn't used. Signed-off-by: Daniel Jurgens <redacted> Reviewed-by: Parav Pandit <redacted> Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Signed-off-by: Shahar Shitrit <redacted> --- drivers/virtio/virtio_pci_common.h | 1 - drivers/virtio/virtio_pci_modern.c | 10 +++------- 2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/virtio/virtio_pci_common.h b/drivers/virtio/virtio_pci_common.h
index 8cd01de27baf..fc26e035e7a6 100644
--- a/drivers/virtio/virtio_pci_common.h
+++ b/drivers/virtio/virtio_pci_common.h@@ -48,7 +48,6 @@ struct virtio_pci_admin_vq { /* Protects virtqueue access. */ spinlock_t lock; u64 supported_cmds; - u64 supported_caps; u8 max_dev_parts_objects; struct ida dev_parts_ida; /* Name of the admin queue: avq.$vq_index. */
diff --git a/drivers/virtio/virtio_pci_modern.c b/drivers/virtio/virtio_pci_modern.c
index 6d8ae2a6a8ca..ef4a64eb9982 100644
--- a/drivers/virtio/virtio_pci_modern.c
+++ b/drivers/virtio/virtio_pci_modern.c@@ -304,10 +304,10 @@ virtio_pci_admin_cmd_dev_parts_objects_enable(struct virtio_device *virtio_dev) static void virtio_pci_admin_cmd_cap_init(struct virtio_device *virtio_dev) { - struct virtio_pci_device *vp_dev = to_vp_device(virtio_dev); struct virtio_admin_cmd_query_cap_id_result *data; struct virtio_admin_cmd cmd = {}; struct scatterlist result_sg; + u64 caps; int ret; data = kzalloc_obj(*data);
@@ -323,12 +323,8 @@ static void virtio_pci_admin_cmd_cap_init(struct virtio_device *virtio_dev) if (ret) goto end; - /* Max number of caps fits into a single u64 */ - BUILD_BUG_ON(sizeof(data->supported_caps) > sizeof(u64)); - - vp_dev->admin_vq.supported_caps = le64_to_cpu(data->supported_caps[0]); - - if (!(vp_dev->admin_vq.supported_caps & (1 << VIRTIO_DEV_PARTS_CAP))) + caps = le64_to_cpu(data->supported_caps[0]); + if (!(caps & BIT_ULL(VIRTIO_DEV_PARTS_CAP))) goto end; virtio_pci_admin_cmd_dev_parts_objects_enable(virtio_dev);
--
2.49.0