[PATCH v2] vdpa/ifc: Match ANY subsystem IDs for modern virtio devices

Wang, Xiao W xiao.w.wang at intel.com
Thu Dec 8 14:08:49 CET 2022


Hi Abhishek,

Please see comments inline.

BRs,
Xiao

> -----Original Message-----
> From: Maheshwari, Abhishek <abhishek.maheshwari at intel.com>
> Sent: Tuesday, December 6, 2022 8:55 PM
> To: Wang, Xiao W <xiao.w.wang at intel.com>
> Cc: dev at dpdk.org; stable at dpdk.org; Xia, Chenbo <chenbo.xia at intel.com>;
> Mandal, Purna Chandra <purna.chandra.mandal at intel.com>; Maheshwari,
> Abhishek <abhishek.maheshwari at intel.com>
> Subject: [PATCH v2] vdpa/ifc: Match ANY subsystem IDs for modern virtio
> devices
> 
> Fixing the match table for vdpa/ifcvf driver because as per the Virtio
> device specification, for modern virtio devices, drivers MAY match any
> PCI Subsystem Vendor ID and any PCI Subsystem Device ID value.

Here the "drivers" refers to virtio driver, not vdpa driver.
With below change, this vdpa/ifc driver would hit the standard virtio device which can't 100% match this driver.

> 
> Fixes: a60b747d0ad ("vdpa/ifc: support virtio block device")
> Fixes: 5c806b94785 ("vdpa/ifc: add PCI ID for legacy network device")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Abhishek Maheshwari <abhishek.maheshwari at intel.com>
> ---
>  drivers/vdpa/ifc/ifcvf_vdpa.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c
> index 49d68ad1b1..214d6e1f60 100644
> --- a/drivers/vdpa/ifc/ifcvf_vdpa.c
> +++ b/drivers/vdpa/ifc/ifcvf_vdpa.c
> @@ -1824,8 +1824,8 @@ static const struct rte_pci_id pci_id_ifcvf_map[] = {
>  	{ .class_id = RTE_CLASS_ANY_ID,
>  	  .vendor_id = IFCVF_VENDOR_ID,
>  	  .device_id = IFCVF_NET_MODERN_DEVICE_ID,
> -	  .subsystem_vendor_id = IFCVF_SUBSYS_VENDOR_ID,
> -	  .subsystem_device_id = IFCVF_SUBSYS_DEVICE_ID,
> +	  .subsystem_vendor_id = RTE_PCI_ANY_ID,
> +	  .subsystem_device_id = RTE_PCI_ANY_ID,
>  	},
> 
>  	{ .class_id = RTE_CLASS_ANY_ID,
> @@ -1845,8 +1845,8 @@ static const struct rte_pci_id pci_id_ifcvf_map[] = {
>  	{ .class_id = RTE_CLASS_ANY_ID,
>  	  .vendor_id = IFCVF_VENDOR_ID,
>  	  .device_id = IFCVF_BLK_MODERN_DEVICE_ID,
> -	  .subsystem_vendor_id = IFCVF_SUBSYS_VENDOR_ID,
> -	  .subsystem_device_id = IFCVF_SUBSYS_BLK_DEVICE_ID,
> +	  .subsystem_vendor_id = RTE_PCI_ANY_ID,
> +	  .subsystem_device_id = RTE_PCI_ANY_ID,
>  	},
> 
>  	{ .vendor_id = 0, /* sentinel */
> --
> 2.31.1



More information about the stable mailing list