[PATCH net-next v21 01/13] virtio_pci: Remove supported_cap size build assert
Shahar Shitrit <[email protected]> Mon, 3 Aug 2026 17:07:09 +0300
| Newsgroups | dev.linux.lists.virtualization,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
From: Daniel Jurgens <[email protected]> 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 <[email protected]> Reviewed-by: Parav Pandit <[email protected]> Reviewed-by: Xuan Zhuo <[email protected]> Signed-off-by: Shahar Shitrit <[email protected]> --- 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